DAS  3.0
Das Analysis System
BF.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 #include <list>
5 #include <optional>
6 
7 #include <TUnfoldBinning.h>
8 #include <TH1.h>
9 #include <TH2.h>
10 
11 #include "Observable.h"
12 #include "ZmmYCommon.h"
13 
15 
16 #if !defined(__CLING__) || defined(__ROOTCLING__)
17 struct BF : public Observable {
20  BF ();
21 
24  std::unique_ptr<Filler> getFiller (Darwin::Tools::Flow&) const override;
25 
28  void setLmatrix (const std::unique_ptr<TH1>&, std::unique_ptr<TH2>&) override {}
29 
30  std::optional<int> process;
31 };
32 
33 template<int PROCESS> struct BFprocessT : public BF {
34  BFprocessT () { process = PROCESS; }
35 };
36 
41 using WW = BFprocessT<5>;
42 using WZ = BFprocessT<6>;
43 using ZZ = BFprocessT<7>;
44 static const std::vector<const char *> processes {"Z#to#mu#mu", "Z#to#tau#tau", "t#bar{t}#to2l2#nu", "QCD", "WW", "WZ", "ZZ"};
45 static const std::vector<const char *> channels {"#mu#mu", "#mu#mu#gamma"};
46 
47 struct BFFiller final : public Filler {
48  BF obs;
49 
50  std::vector<GenMuon> * genMuons;
51  std::vector<RecMuon> * recMuons;
52  std::vector<GenPhoton> * genPhotons;
53  std::vector<RecPhoton> * recPhotons;
56 
59  BFFiller (const BF&, Darwin::Tools::Flow&);
60 
63  std::list<int> fillRec (DistVariation&) override;
64 
67  void match () override {}
68 
71  void fillMC (DistVariation&) override;
72 
73 private:
75  std::optional<int> irecbin;
76 };
77 #endif
78 
79 } // end of DAS::Unfolding::ZmmY namespace
ZmmYCommon.h
DAS::Unfolding::ZmmY::channels
static const std::vector< const char * > channels
Definition: BF.h:45
Darwin::Tools::Flow
User-friendly handling of input and output n-tuples.
Definition: Flow.h:78
DAS::Unfolding::ZmmY::BFFiller::recMuons
std::vector< RecMuon > * recMuons
Definition: BF.h:51
DAS::Unfolding::ZmmY::BFFiller
Definition: BF.h:47
DAS::Unfolding::ZmmY::BFFiller::irecbin
std::optional< int > irecbin
Definition: BF.h:75
DAS::RecEvent
Definition: Event.h:52
DAS::Unfolding::ZmmY::BF::getFiller
std::unique_ptr< Filler > getFiller(Darwin::Tools::Flow &) const override
Constructs a filler for the observable.
Definition: BF.cc:102
DAS::Unfolding::ZmmY::EventInfo
Definition: ZmmYCommon.h:28
DAS::Unfolding::ZmmY::BFFiller::genPhotons
std::vector< GenPhoton > * genPhotons
Definition: BF.h:52
DAS::Unfolding::ZmmY::BFFiller::rEv
RecEvent * rEv
Definition: BF.h:55
DAS::Unfolding::ZmmY::BFFiller::genMuons
std::vector< GenMuon > * genMuons
Definition: BF.h:50
DAS::Unfolding::ZmmY::BFprocessT::BFprocessT
BFprocessT()
Definition: BF.h:34
DAS::Unfolding::DistVariation
Definition: DistVariation.h:25
DAS::Unfolding::Filler
Definition: Observable.h:31
DAS::Unfolding::ZmmY::BFprocessT
Definition: BF.h:33
DAS::Unfolding::ZmmY::BFFiller::obs
BF obs
Backreference to the observable.
Definition: BF.h:48
DAS::Unfolding::ZmmY::BFFiller::rInfo
EventInfo< RecMuon, RecPhoton > rInfo
Definition: BF.h:74
DAS::Unfolding::ZmmY::BFFiller::fillRec
std::list< int > fillRec(DistVariation &) override
See Filler::fillRec
Definition: BF.cc:25
DAS::Unfolding::ZmmY::BF::setLmatrix
void setLmatrix(const std::unique_ptr< TH1 > &, std::unique_ptr< TH2 > &) override
See Observable::setLmatrix
Definition: BF.h:28
DAS::Unfolding::ZmmY
Definition: BF.h:14
DAS::Unfolding::ZmmY::BF
Definition: BF.h:17
Observable.h
DAS::Unfolding::ZmmY::BF::process
std::optional< int > process
Definition: BF.h:30
DAS::Unfolding::ZmmY::BFFiller::gEv
GenEvent * gEv
Definition: BF.h:54
DAS::Unfolding::ZmmY::BF::BF
BF()
Constructor.
Definition: BF.cc:91
DAS::Unfolding::ZmmY::processes
static const std::vector< const char * > processes
Definition: BF.h:44
DAS::Unfolding::ZmmY::BFFiller::match
void match() override
Definition: BF.h:67
DAS::Unfolding::ZmmY::BFFiller::BFFiller
BFFiller(const BF &, Darwin::Tools::Flow &)
Constructor.
Definition: BF.cc:14
DAS::Unfolding::Observable
Definition: Observable.h:117
DAS::Unfolding::ZmmY::BFFiller::fillMC
void fillMC(DistVariation &) override
See Filler::fillMC
Definition: BF.cc:52
DAS::GenEvent
Definition: Event.h:38
DAS::Unfolding::ZmmY::BFFiller::recPhotons
std::vector< RecPhoton > * recPhotons
Definition: BF.h:53