DAS  3.0
Das Analysis System
ZPtY.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 <TTreeReaderArray.h>
9 #include <TH1.h>
10 #include <TH2.h>
11 
12 #if !defined(__CLING__) || defined(__ROOTCLING__)
16 #endif
17 
19 
20 static const std::vector<double> recPtBins{
21  0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5,
22  9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13, 13.5, 14, 15, 16, 17, 18, 19,
23  20, 21, 22, 23, 25, 26, 28, 30, 32, 34, 37, 40, 43, 48, 52, 58, 65, 70,
24  85, 102, 120, 140, 160, 175, 190, 205, 220, 235, 250, 275, 300, 350,
25  400, 800, 1500},
27  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 25,
28  28, 32, 37, 43, 52, 65, 85, 120, 160, 190, 220, 250, 300, 400, 1500},
29  yBins{0, 0.4, 0.8, 1.2, 1.6, 2.4};
30 
31 static const int nRecPtBins = recPtBins.size()-1,
32  nGenPtBins = genPtBins.size()-1,
33  nYbins = yBins.size()-1;
34 
35 static const double minPt = 25;
36 static const double maxEta = 2.4;
37 static const double minMll = 76.1876, maxMll = 106.1876;
38 
39 #if !defined(__CLING__) || defined(__ROOTCLING__)
40 struct ZPtY final : public Observable {
43 
46  ZPtY ();
47 
50  std::unique_ptr<Filler> getFiller (TTreeReader& reader) const override;
51 
54  void setLmatrix (const std::unique_ptr<TH1>&, std::unique_ptr<TH2>&) override;
55 };
56 
57 struct ZPtYFiller final : public Filler {
59 
60  std::optional<TTreeReaderArray<GenMuon>> genMuons;
61  TTreeReaderArray<RecMuon> recMuons;
62  std::optional<TTreeReaderValue<GenEvent>> gEv;
63  TTreeReaderValue<RecEvent> rEv;
64 
67  ZPtYFiller (const ZPtY& obs, TTreeReader& reader);
68 
71  std::list<int> fillRec (DistVariation&) override;
72 
75  void match () override {}
76 
79  void fillMC (DistVariation&) override;
80 };
81 #endif
82 
83 } // end of DAS::Unfolding::DrellYan namespace
DAS::Unfolding::DrellYan::ZPtYFiller::recMuons
TTreeReaderArray< RecMuon > recMuons
Definition: ZPtY.h:61
DAS::Unfolding::DrellYan::ZPtYFiller::fillRec
std::list< int > fillRec(DistVariation &) override
See Filler::fillRec
Definition: ZPtY.cc:69
DAS::Unfolding::DrellYan::ZPtYFiller::ZPtYFiller
ZPtYFiller(const ZPtY &obs, TTreeReader &reader)
Constructor.
Definition: ZPtY.cc:61
DAS::Unfolding::DrellYan::ZPtYFiller::rEv
TTreeReaderValue< RecEvent > rEv
Definition: ZPtY.h:63
DAS::Unfolding::DrellYan::nYbins
static const int nYbins
Definition: ZPtY.h:33
DAS::Unfolding::DrellYan::yBins
static const std::vector< double > yBins
Definition: ZPtY.h:29
Event.h
DAS::Unfolding::DrellYan::ZPtYFiller::match
void match() override
Matching is not needed.
Definition: ZPtY.h:75
DAS::Unfolding::DrellYan::minMll
static const double minMll
Definition: ZPtY.h:37
DAS::Unfolding::DrellYan::maxEta
static const double maxEta
Definition: ZPtY.h:36
DAS::Unfolding::DrellYan::nGenPtBins
static const int nGenPtBins
Definition: ZPtY.h:32
DAS::Unfolding::DrellYan::ZPtYFiller::obs
ZPtY obs
Backreference to the observable.
Definition: ZPtY.h:58
DAS::Unfolding::DrellYan::ZPtYFiller::gEv
std::optional< TTreeReaderValue< GenEvent > > gEv
Definition: ZPtY.h:62
DAS::Unfolding::DrellYan::recPtBins
static const std::vector< double > recPtBins
Definition: ZPtY.h:20
DAS::Unfolding::DistVariation
Definition: DistVariation.h:25
DAS::Unfolding::DrellYan::ZPtY::setLmatrix
void setLmatrix(const std::unique_ptr< TH1 > &, std::unique_ptr< TH2 > &) override
See Observable::setLmatrix
Definition: ZPtY.cc:128
DAS::Unfolding::DrellYan
Definition: ZPtY.h:18
DAS::Unfolding::Filler
Definition: Observable.h:56
DAS::Unfolding::DrellYan::ZPtY::getFiller
std::unique_ptr< Filler > getFiller(TTreeReader &reader) const override
Constructs a filler for the observable.
Definition: ZPtY.cc:123
DAS::Unfolding::DrellYan::ZPtYFiller::genMuons
std::optional< TTreeReaderArray< GenMuon > > genMuons
Definition: ZPtY.h:60
Observable.h
DAS::Unfolding::DrellYan::ZPtYFiller
Definition: ZPtY.h:57
DAS::Unfolding::DrellYan::minPt
static const double minPt
Definition: ZPtY.h:35
DAS::Unfolding::DrellYan::nRecPtBins
static const int nRecPtBins
Definition: ZPtY.h:31
DAS::Unfolding::DrellYan::maxMll
static const double maxMll
Definition: ZPtY.h:37
DAS::Unfolding::DrellYan::genPtBins
static const std::vector< double > genPtBins
Definition: ZPtY.h:26
DAS::Unfolding::DrellYan::ZPtY::ZPtY
ZPtY()
Constructor.
Definition: ZPtY.cc:114
Lepton.h
DAS::Unfolding::Observable
Definition: Observable.h:142
DAS::Unfolding::DrellYan::ZPtYFiller::fillMC
void fillMC(DistVariation &) override
See Filler::fillMC
Definition: ZPtY.cc:84
DAS::Unfolding::DrellYan::ZPtY
Following SMP-17-010 (https://doi.org/10.17182/hepdata.91215.v4)
Definition: ZPtY.h:42