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