DAS  3.0
Das Analysis System
MjjYbYs.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <list>
4 #include <vector>
5 #include <optional>
6 #include <functional>
7 
8 #include <TUnfoldBinning.h>
9 #include <TTreeReaderArray.h>
10 #include <TH1.h>
11 #include <TH2.h>
12 
13 #if !defined(__CLING__) || defined(__ROOTCLING__)
18 #endif
19 
21 
22 static const std::vector<double> Mjj_edges { 200, 249, 306, 372, 449, 539, 641,
23  756, 887, 1029, 1187, 1361, 1556, 1769,
24  2008, 2273, 2572, 2915, 3306, 3754, 4244,
25  4805, 5374, 6094, 6908, 7861, 8929, 10050 },
26  y_edges{0., 0.5, 1.0, 1.5, 2.0, 2.5}; // will be used for y_boost and y_star
27 
28 static const size_t nYbYsBins = y_edges.size() - 1;
29 
30 static const auto minMjj = Mjj_edges.front(),
31  maxMjj = Mjj_edges.back(),
32  maxy = 3.0;
33 
34 #if !defined(__CLING__) || defined(__ROOTCLING__)
35 struct MjjYbYs final : public Observable {
36 
39  MjjYbYs ();
40 
43  std::unique_ptr<Filler> getFiller (TTreeReader& reader) const override;
44 
49  void setLmatrix (const std::unique_ptr<TH1>&, std::unique_ptr<TH2>&) override;
50 };
51 
52 struct MjjYbYsFiller final : public Filler {
54 
55  std::optional<TTreeReaderArray<GenJet>> genJets;
56  TTreeReaderArray<RecJet> recJets;
57  std::optional<TTreeReaderValue<GenEvent>> gEv;
58  TTreeReaderValue<RecEvent> rEv;
59 
62  MjjYbYsFiller (const MjjYbYs &obs, TTreeReader& reader);
63 
66  std::list<int> fillRec (DistVariation&) override;
67 
68  std::optional<bool> matched;
69 
72  void match () override;
73 
76  void fillMC (DistVariation&) override;
77 };
78 #endif
79 
80 } // end of DAS::Unfolding::DijetMass namespace
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::obs
MjjYbYs obs
Backreference to the observable.
Definition: MjjYbYs.h:53
DAS::Unfolding::DijetMass3D::MjjYbYsFiller
Definition: MjjYbYs.h:52
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::gEv
std::optional< TTreeReaderValue< GenEvent > > gEv
Definition: MjjYbYs.h:57
DAS::Unfolding::DijetMass3D::maxMjj
static const auto maxMjj
Definition: MjjYbYs.h:31
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::matched
std::optional< bool > matched
Definition: MjjYbYs.h:68
DAS::Unfolding::DijetMass3D::maxy
static const auto maxy
Definition: MjjYbYs.h:32
DAS::Unfolding::DijetMass3D::MjjYbYs::MjjYbYs
MjjYbYs()
Constructor.
Definition: MjjYbYs.cc:135
DAS::Unfolding::DijetMass3D::Mjj_edges
static const std::vector< double > Mjj_edges
Definition: MjjYbYs.h:22
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::match
void match() override
Match the two pairs of leading jets (if any) and set matched member.
Definition: MjjYbYs.cc:27
Event.h
Jet.h
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::fillMC
void fillMC(DistVariation &) override
See Observable::fillMC
Definition: MjjYbYs.cc:104
DAS::Unfolding::DistVariation
Definition: DistVariation.h:25
DAS::Unfolding::Filler
Definition: Observable.h:56
DAS::Unfolding::DijetMass3D
Definition: MjjYbYs.h:20
Observable.h
Di.h
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::rEv
TTreeReaderValue< RecEvent > rEv
Definition: MjjYbYs.h:58
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::genJets
std::optional< TTreeReaderArray< GenJet > > genJets
Definition: MjjYbYs.h:55
DAS::Unfolding::DijetMass3D::nYbYsBins
static const size_t nYbYsBins
Definition: MjjYbYs.h:28
DAS::Unfolding::DijetMass3D::MjjYbYs::getFiller
std::unique_ptr< Filler > getFiller(TTreeReader &reader) const override
Constructs a filler for the observable.
Definition: MjjYbYs.cc:161
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::recJets
TTreeReaderArray< RecJet > recJets
Definition: MjjYbYs.h:56
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::fillRec
std::list< int > fillRec(DistVariation &) override
See Observable::fillRec
Definition: MjjYbYs.cc:86
DAS::Unfolding::DijetMass3D::MjjYbYs::setLmatrix
void setLmatrix(const std::unique_ptr< TH1 > &, std::unique_ptr< TH2 > &) override
Definition: MjjYbYs.cc:167
DAS::Unfolding::DijetMass3D::y_edges
static const std::vector< double > y_edges
Definition: MjjYbYs.h:26
DAS::Unfolding::DijetMass3D::MjjYbYs
Definition: MjjYbYs.h:35
DAS::Unfolding::Observable
Definition: Observable.h:142
DAS::Unfolding::DijetMass3D::MjjYbYsFiller::MjjYbYsFiller
MjjYbYsFiller(const MjjYbYs &obs, TTreeReader &reader)
Constructor.
Definition: MjjYbYs.cc:18
DAS::Unfolding::DijetMass3D::minMjj
static const auto minMjj
Definition: MjjYbYs.h:30