DAS  3.0
Das Analysis System
MjjYmax.h
Go to the documentation of this file.
1 #ifndef DAS_UNFOLDING_MJJYMAX
2 #define DAS_UNFOLDING_MJJYMAX
3 
4 #include <list>
5 #include <vector>
6 #include <optional>
7 #include <functional>
8 
9 #include <TUnfoldBinning.h>
10 #include <TTreeReaderArray.h>
11 #include <TH1.h>
12 #include <TH2.h>
13 
14 #if !defined(__CLING__) || defined(__ROOTCLING__)
19 #endif
20 
22 
23 static const std::vector<double> Mjj_edges { 200, 249, 306, 372, 449, 539, 641,
24  756, 887, 1029, 1187, 1361, 1556, 1769,
25  2008, 2273, 2572, 2915, 3306, 3754, 4244,
26  4805, 5374, 6094, 6908, 7861, 8929, 10050 },
27  ymax_edges{0., 0.5, 1.0, 1.5, 2.0, 2.5, 3.0};
28 
29 static const size_t nYmaxBins = ymax_edges.size() - 1;
30 
31 static const auto minMjj = Mjj_edges.front(),
32  maxMjj = Mjj_edges.back(),
33  maxy = ymax_edges.back();
34 
35 #if !defined(__CLING__) || defined(__ROOTCLING__)
36 struct MjjYmax final : public Observable {
38 
41  MjjYmax ();
42 
45  std::unique_ptr<Filler> getFiller (TTreeReader& reader) const override;
46 
51  void setLmatrix (const std::unique_ptr<TH1>&, std::unique_ptr<TH2>&) override;
52 };
53 
54 struct MjjYmaxFiller final : public Filler {
56 
57  std::optional<TTreeReaderArray<GenJet>> genJets;
58  TTreeReaderArray<RecJet> recJets;
59  std::optional<TTreeReaderValue<GenEvent>> gEv;
60  TTreeReaderValue<RecEvent> rEv;
61 
64  MjjYmaxFiller (const MjjYmax &obs, TTreeReader& reader);
65 
68  std::list<int> fillRec (DistVariation&) override;
69 
70  std::optional<bool> matched;
71 
74  void match () override;
75 
78  void fillMC (DistVariation&) override;
79 };
80 #endif
81 
82 } // end of DAS::Unfolding::DijetMass namespace
83 #endif
DAS::Unfolding::DijetMass::MjjYmax::MjjYmax
MjjYmax()
Constructor.
Definition: MjjYmax.cc:134
DAS::Unfolding::DijetMass::MjjYmaxFiller
Definition: MjjYmax.h:54
DAS::Unfolding::DijetMass::MjjYmaxFiller::matched
std::optional< bool > matched
Definition: MjjYmax.h:70
DAS::Unfolding::DijetMass::MjjYmaxFiller::fillRec
std::list< int > fillRec(DistVariation &) override
See Observable::fillRec
Definition: MjjYmax.cc:85
DAS::Unfolding::DijetMass::MjjYmax::getFiller
std::unique_ptr< Filler > getFiller(TTreeReader &reader) const override
Constructs a filler for the observable.
Definition: MjjYmax.cc:158
DAS::Unfolding::DijetMass::MjjYmaxFiller::gEv
std::optional< TTreeReaderValue< GenEvent > > gEv
Definition: MjjYmax.h:59
DAS::Unfolding::DijetMass::MjjYmaxFiller::fillMC
void fillMC(DistVariation &) override
See Observable::fillMC
Definition: MjjYmax.cc:103
Event.h
DAS::Unfolding::DijetMass::MjjYmaxFiller::obs
MjjYmax obs
Backreference to the observable.
Definition: MjjYmax.h:55
Jet.h
DAS::Unfolding::DijetMass::ymax_edges
static const std::vector< double > ymax_edges
Definition: MjjYmax.h:27
DAS::Unfolding::DijetMass::MjjYmaxFiller::recJets
TTreeReaderArray< RecJet > recJets
Definition: MjjYmax.h:58
DAS::Unfolding::DistVariation
Definition: DistVariation.h:25
DAS::Unfolding::Filler
Definition: Observable.h:56
DAS::Unfolding::DijetMass::MjjYmaxFiller::match
void match() override
Match the two pairs of leading jets (if any) and set matched member.
Definition: MjjYmax.cc:27
DAS::Unfolding::DijetMass::MjjYmax::setLmatrix
void setLmatrix(const std::unique_ptr< TH1 > &, std::unique_ptr< TH2 > &) override
Definition: MjjYmax.cc:163
DAS::Unfolding::DijetMass::MjjYmaxFiller::rEv
TTreeReaderValue< RecEvent > rEv
Definition: MjjYmax.h:60
Observable.h
Di.h
DAS::Unfolding::DijetMass::maxy
static const auto maxy
Definition: MjjYmax.h:33
DAS::Unfolding::DijetMass::maxMjj
static const auto maxMjj
Definition: MjjYmax.h:32
DAS::Unfolding::DijetMass::MjjYmax::nGenMjjBinsCnt
int nGenMjjBinsCnt
Definition: MjjYmax.h:37
DAS::Unfolding::DijetMass::Mjj_edges
static const std::vector< double > Mjj_edges
Definition: MjjYmax.h:23
DAS::Unfolding::DijetMass::MjjYmaxFiller::genJets
std::optional< TTreeReaderArray< GenJet > > genJets
Definition: MjjYmax.h:57
DAS::Unfolding::DijetMass::nYmaxBins
static const size_t nYmaxBins
Definition: MjjYmax.h:29
DAS::Unfolding::Observable
Definition: Observable.h:142
DAS::Unfolding::DijetMass::MjjYmaxFiller::MjjYmaxFiller
MjjYmaxFiller(const MjjYmax &obs, TTreeReader &reader)
Constructor.
Definition: MjjYmax.cc:18
DAS::Unfolding::DijetMass
Definition: MjjYmax.h:21
DAS::Unfolding::DijetMass::minMjj
static const auto minMjj
Definition: MjjYmax.h:31
DAS::Unfolding::DijetMass::MjjYmax
Definition: MjjYmax.h:36
DAS::Unfolding::DijetMass::MjjYmax::nGenMjjBinsFwd
int nGenMjjBinsFwd
Definition: MjjYmax.h:37