DESY Hbb Analysis Framework
Public Member Functions | Protected Attributes | List of all members
analysis::tools::TriggerAnalyser Class Reference

#include <TriggerAnalyser.h>

Inheritance diagram for analysis::tools::TriggerAnalyser:
analysis::tools::BaseAnalyser analysis::tools::Analyser analysis::mssmhbb::MssmHbbAnalyser

Public Member Functions

virtual bool analysisWithTrigger ()
 
bool l1tJetsAnalysis () const
 
bool l1tMuonsAnalysis () const
 
virtual bool selectionHLT ()
 
virtual bool selectionL1 ()
 
virtual bool selectionTrigger ()
 
virtual bool selectionTriggerEmulated (const bool &, const bool &, const std::string &, const int &, const float &, const float &)
 
 TriggerAnalyser ()
 constructors More...
 
 TriggerAnalyser (int argc, char *argv[])
 
std::vector< std::shared_ptr< TriggerObject > > triggerObjectsCaloJets ()
 
std::vector< std::shared_ptr< TriggerObject > > triggerObjectsL1Jets ()
 
std::vector< std::shared_ptr< TriggerObject > > triggerObjectsL1Muons ()
 
std::vector< std::shared_ptr< TriggerObject > > triggerObjectsL3Muons ()
 
std::vector< std::shared_ptr< TriggerObject > > triggerObjectsPFJets ()
 
 ~TriggerAnalyser ()
 desctructor More...
 
- Public Member Functions inherited from analysis::tools::BaseAnalyser
void actionApplyPileupWeight (const int &var=0)
 apply pileup weight given a systematic variation More...
 
void analyserTree ()
 root tree More...
 
std::shared_ptr< Analysisanalysis ()
 returns pointer to Analysis object More...
 
 BaseAnalyser ()
 constructor More...
 
 BaseAnalyser (int argc, char *argv[])
 constructor More...
 
std::string basename (const std::string &)
 returns the basename of a path More...
 
std::map< std::string, std::shared_ptr< TGraphAsymmErrors > > btagEfficiencies () const
 
std::shared_ptr< Configconfig ()
 returns pointer to Config object More...
 
float crossSection () const
 returns cross section More...
 
int cutflow ()
 get cutflow index More...
 
void cutflow (const int &)
 set cutflow index More...
 
void cutflow (const std::string &label, const bool &ok=true)
 create and update cutflow entry in the cutflow histogram More...
 
virtual bool event (const int &)
 event entry to be readout and processed More...
 
void fillAnalyserTree ()
 fill root tree More...
 
void fillPileupHistogram ()
 fills pileup histogram More...
 
void generatorWeight ()
 generator weight More...
 
bool genJetsAnalysis () const
 returns whether analysis of gen jets can be done More...
 
bool genParticlesAnalysis () const
 returns whether analysis of gen particles can be done More...
 
std::shared_ptr< TH1F > histogram (const std::string &)
 returns a given 1D histogram More...
 
std::map< std::string, std::shared_ptr< TH1F > > histograms ()
 returns all 1D histograms More...
 
virtual void histograms (const std::string &, const int &)
 create n histograms of a given type More...
 
int nEvents ()
 number of events to be processed More...
 
std::shared_ptr< TFile > output ()
 returns pointer to output root file More...
 
void pileupHistogram ()
 creates pileup histogram More...
 
float pileupWeight (const float &truepu, const int &var) const
 returns pileup weight given the true pileup and uncertainty variation in values of sigma More...
 
std::shared_ptr< PileupWeightpileupWeights () const
 returns pointer to pileup weights (MC-only) More...
 
void scale (const float &)
 sets a scale More...
 
int seed ()
 returns a seed for random number generator More...
 
int seed (const std::string &)
 reads a file containing a seed and returns the seed or -1 if fails More...
 
void seed (const int &)
 sets a seed for random number generators More...
 
bool triggerEmulated (const std::string &)
 return status of an emulated l1 trigger More...
 
virtual bool triggerEmulation (const std::string &, const int &, const float &, const float &, const std::string &)
 emulate l1 trigger More...
 
std::map< std::string, bool > triggersEmulated ()
 return status of all emulated l1 triggers More...
 
float trueInteractions () const
 returns true number of interactions More...
 
float weight ()
 returns event weight More...
 
void weight (const float &)
 sets event weight More...
 
virtual ~BaseAnalyser ()
 desctructor More...
 

Protected Attributes

bool l1tjetsanalysis_
 
bool l1tmuonsanalysis_
 
bool triggeranalysis_
 
- Protected Attributes inherited from analysis::tools::BaseAnalyser
std::shared_ptr< TTree > analyser_tree_
 output tree More...
 
std::shared_ptr< Analysisanalysis_
 Analysis objects. More...
 
std::map< std::string, std::shared_ptr< TGraphAsymmErrors > > btageff_
 
std::shared_ptr< Configconfig_
 Config objects. More...
 
int cutflow_
 Cutflow index. More...
 
bool genjetsanalysis_
 
bool genpartsanalysis_
 
std::map< std::string, std::shared_ptr< TH1F > > h1_
 1D histograms mapping More...
 
std::map< std::string, std::shared_ptr< TH2F > > h2_
 2D histograms mapping More...
 
std::shared_ptr< TFile > hout_
 output root file More...
 
bool isData_
 flag for DATA sample More...
 
bool isMC_
 flag for MC sample More...
 
bool istruepu_
 true pileup More...
 
std::string puw_label_
 pileup weight label More...
 
std::shared_ptr< PileupWeightpuweights_
 pileup weight More...
 
float scale_
 overall scaling More...
 
int seed_
 seed value More...
 
std::map< std::string, bool > trg_emul_
 emulated triggers More...
 
float weight_
 event weight More...
 
float xsection_
 cross section More...
 

Detailed Description

Definition at line 35 of file TriggerAnalyser.h.

Constructor & Destructor Documentation

TriggerAnalyser::TriggerAnalyser ( )

constructors

Definition at line 20 of file TriggerAnalyser.cc.

21 {
22 }
TriggerAnalyser::TriggerAnalyser ( int  argc,
char *  argv[] 
)

Definition at line 25 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, analysis::tools::BaseAnalyser::config_, l1tjetsanalysis_, l1tmuonsanalysis_, and triggeranalysis_.

25  : BaseAnalyser(argc,argv)
26 {
27 
28  triggeranalysis_ = false;
29 
30  if ( config_->triggerResults() != "" )
31  triggeranalysis_ = analysis_->triggerResults(config_->triggerResults());
32 
33  if ( config_->triggerObjectsDir() != "" )
34  {
35  // online jets
36  if ( config_->triggerObjectsL1Jets() != "l1tJets")
37  analysis_->addTree<TriggerObject> (config_->triggerObjectsL1Jets() ,Form("%s/%s", config_->triggerObjectsDir().c_str(),config_->triggerObjectsL1Jets().c_str()));
38  analysis_->addTree<TriggerObject> (config_->triggerObjectsCaloJets(),Form("%s/%s", config_->triggerObjectsDir().c_str(),config_->triggerObjectsCaloJets().c_str()));
39  analysis_->addTree<TriggerObject> (config_->triggerObjectsPFJets() ,Form("%s/%s", config_->triggerObjectsDir().c_str(),config_->triggerObjectsPFJets().c_str()));
40  // online b jets
41  analysis_->addTree<TriggerObject> (config_->triggerObjectsBJets(),Form("%s/%s", config_->triggerObjectsDir().c_str(),config_->triggerObjectsBJets().c_str()));
42  // online muons
43  analysis_->addTree<TriggerObject> (config_->triggerObjectsL1Muons(),Form("%s/%s",config_->triggerObjectsDir().c_str(),config_->triggerObjectsL1Muons().c_str()));
44  analysis_->addTree<TriggerObject> (config_->triggerObjectsL3Muons(),Form("%s/%s",config_->triggerObjectsDir().c_str(),config_->triggerObjectsL3Muons().c_str()));
45  }
46  if ( config_ -> l1tJetsCollection() != "")
47  {
48  l1tjetsanalysis_ = ( analysis_ -> addTree<L1TJet> ("l1tJets",config_ -> l1tJetsCollection()) != nullptr );
49  }
50  if ( config_ -> l1tMuonsCollection() != "")
51  {
52  l1tmuonsanalysis_ = ( analysis_ -> addTree<L1TMuon> ("l1tMuons",config_ -> l1tMuonsCollection()) != nullptr );
53  }
54 
55 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
TriggerAnalyser::~TriggerAnalyser ( )

desctructor

Definition at line 57 of file TriggerAnalyser.cc.

58 {
59  // do anything here that needs to be done at desctruction time
60  // (e.g. close files, deallocate resources etc.)
61 }

Member Function Documentation

bool TriggerAnalyser::analysisWithTrigger ( )
virtual

Definition at line 184 of file TriggerAnalyser.cc.

References triggeranalysis_.

185 {
186  return triggeranalysis_;
187 }
bool TriggerAnalyser::l1tJetsAnalysis ( ) const

Definition at line 235 of file TriggerAnalyser.cc.

References l1tjetsanalysis_.

Referenced by analysis::tools::Analyser::event().

236 {
237  return l1tjetsanalysis_;
238 }
bool TriggerAnalyser::l1tMuonsAnalysis ( ) const

Definition at line 240 of file TriggerAnalyser.cc.

References l1tmuonsanalysis_.

Referenced by analysis::tools::Analyser::event().

241 {
242  return l1tmuonsanalysis_;
243 }
bool TriggerAnalyser::selectionHLT ( )
virtual

Definition at line 133 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, analysis::tools::BaseAnalyser::config_, analysis::tools::BaseAnalyser::cutflow_, analysis::tools::BaseAnalyser::h1_, and analysis::tools::BaseAnalyser::weight_.

Referenced by main(), and selectionTrigger().

134 {
135  if ( config_->hltPath_ == "" ) return true;
136 
137  ++cutflow_;
138  if ( ! analysis_->triggerResult(config_->hltPath_) ) return false;
139 
140  if ( std::string(h1_["cutflow"] -> GetXaxis()-> GetBinLabel(cutflow_+1)) == "" )
141  h1_["cutflow"] -> GetXaxis()-> SetBinLabel(cutflow_+1,(config_->hltPath_).c_str());
142 
143  h1_["cutflow"] -> Fill(cutflow_,weight_);
144 
145  return true;
146 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
float weight_
event weight
Definition: BaseAnalyser.h:72
std::map< std::string, std::shared_ptr< TH1F > > h1_
1D histograms mapping
Definition: BaseAnalyser.h:80
int cutflow_
Cutflow index.
Definition: BaseAnalyser.h:66
bool TriggerAnalyser::selectionL1 ( )
virtual

Definition at line 148 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, analysis::tools::BaseAnalyser::config_, analysis::tools::BaseAnalyser::cutflow_, analysis::tools::BaseAnalyser::h1_, and analysis::tools::BaseAnalyser::weight_.

Referenced by main(), and selectionTrigger().

149 {
150  if ( config_->l1Seed_ == "" ) return true;
151 
152  ++cutflow_;
153  if ( ! analysis_->triggerResult(config_->l1Seed_) ) return false;
154 
155  if ( std::string(h1_["cutflow"] -> GetXaxis()-> GetBinLabel(cutflow_+1)) == "" )
156  h1_["cutflow"] -> GetXaxis()-> SetBinLabel(cutflow_+1,(config_->l1Seed_).c_str());
157 
158  h1_["cutflow"] -> Fill(cutflow_,weight_);
159 
160  return true;
161 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
float weight_
event weight
Definition: BaseAnalyser.h:72
std::map< std::string, std::shared_ptr< TH1F > > h1_
1D histograms mapping
Definition: BaseAnalyser.h:80
int cutflow_
Cutflow index.
Definition: BaseAnalyser.h:66
bool TriggerAnalyser::selectionTrigger ( )
virtual

Emulated triggers

Definition at line 70 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::config_, selectionHLT(), selectionL1(), and selectionTriggerEmulated().

Referenced by main().

71 {
72  bool hlt = selectionHLT();
73  bool l1 = selectionL1();
74 
76  // L1 muon trigger
77  bool l1muon = true;
78  if ( config_->triggerEmulateL1Muons() != "" && config_->triggerEmulateL1MuonsNMin() > 0 && config_->triggerObjectsL1Muons() != "" )
79  {
80  int nmin = config_->triggerEmulateL1MuonsNMin();
81  float ptmin = config_->triggerEmulateL1MuonsPtMin();
82  float etamax = config_->triggerEmulateL1MuonsEtaMax();
83  l1muon = selectionTriggerEmulated(l1,hlt,config_->triggerEmulateL1Muons(),nmin,ptmin,etamax);
84  }
85  // L3 muon trigger
86  bool l3muon = true;
87  if ( config_->triggerEmulateL3Muons() != "" && config_->triggerEmulateL3MuonsNMin() > 0 && config_->triggerObjectsL3Muons() != "" )
88  {
89  int nmin = config_->triggerEmulateL3MuonsNMin();
90  float ptmin = config_->triggerEmulateL3MuonsPtMin();
91  float etamax = config_->triggerEmulateL3MuonsEtaMax();
92  l3muon = selectionTriggerEmulated(l1,hlt,config_->triggerEmulateL3Muons(),nmin,ptmin,etamax);
93  }
94 
95  // L1 jet trigger
96  bool l1jet = true;
97  if ( config_->triggerEmulateL1Jets() != "" && config_->triggerEmulateL1JetsNMin() > 0 && config_->triggerObjectsL1Jets() != "" )
98  {
99  int nmin = config_->triggerEmulateL1JetsNMin();
100  float ptmin = config_->triggerEmulateL1JetsPtMin();
101  float etamax = config_->triggerEmulateL1JetsEtaMax();
102  l1jet = selectionTriggerEmulated(l1,hlt,config_->triggerEmulateL1Jets(),nmin,ptmin,etamax);
103  }
104 
105  // Calo jet trigger
106  bool calojet = true;
107  if ( config_->triggerEmulateCaloJets() != "" && config_->triggerEmulateCaloJetsNMin() > 0 && config_->triggerObjectsCaloJets() != "" )
108  {
109  int nmin = config_->triggerEmulateCaloJetsNMin();
110  float ptmin = config_->triggerEmulateCaloJetsPtMin();
111  float etamax = config_->triggerEmulateCaloJetsEtaMax();
112  calojet = selectionTriggerEmulated(l1,hlt,config_->triggerEmulateCaloJets(),nmin,ptmin,etamax);
113  }
114 
115 
116  // PF jet trigger
117  bool pfjet = true;
118  if ( config_->triggerEmulatePFJets() != "" && config_->triggerEmulatePFJetsNMin() > 0 && config_->triggerObjectsPFJets() != "" )
119  {
120  int nmin = config_->triggerEmulatePFJetsNMin();
121  float ptmin = config_->triggerEmulatePFJetsPtMin();
122  float etamax = config_->triggerEmulatePFJetsEtaMax();
123  pfjet = selectionTriggerEmulated(l1,hlt,config_->triggerEmulatePFJets(),nmin,ptmin,etamax);
124  }
125 
126 
127  bool emul = l1muon && l3muon && l1jet && calojet && pfjet;
128 
129  return (hlt && l1 && emul);
130 
131 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
virtual bool selectionTriggerEmulated(const bool &, const bool &, const std::string &, const int &, const float &, const float &)
bool TriggerAnalyser::selectionTriggerEmulated ( const bool &  l1,
const bool &  hlt,
const std::string &  name,
const int &  nmin,
const float &  ptmin,
const float &  etamax 
)
virtual

Definition at line 163 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::cutflow_, analysis::tools::BaseAnalyser::h1_, analysis::tools::BaseAnalyser::triggerEmulated(), and analysis::tools::BaseAnalyser::weight_.

Referenced by selectionTrigger().

164 {
165 
166  ++cutflow_;
167 
168  if ( std::string(h1_["cutflow"] -> GetXaxis()-> GetBinLabel(cutflow_+1)) == "" )
169  h1_["cutflow"] -> GetXaxis()-> SetBinLabel(cutflow_+1,Form("Emulated: %s (n >= %d, pT >= %4.1f GeV, |eta| <= %4.1f)",name.c_str(),nmin,ptmin,etamax));
170 
171 
172  if ( ! ( l1 && hlt ) ) return false;
173  if ( ! triggerEmulated(name) ) return false;
174 
175  h1_["cutflow"] -> Fill(cutflow_,weight_);
176 
177 
178  return true;
179 }
float weight_
event weight
Definition: BaseAnalyser.h:72
bool triggerEmulated(const std::string &)
return status of an emulated l1 trigger
std::map< std::string, std::shared_ptr< TH1F > > h1_
1D histograms mapping
Definition: BaseAnalyser.h:80
int cutflow_
Cutflow index.
Definition: BaseAnalyser.h:66
std::vector< std::shared_ptr< TriggerObject > > TriggerAnalyser::triggerObjectsCaloJets ( )

Definition at line 199 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, and analysis::tools::BaseAnalyser::config_.

200 {
201  auto collection = analysis_->collection<TriggerObject>(config_->triggerObjectsCaloJets());
202  std::vector< std::shared_ptr<TriggerObject> > objects;
203  for ( int j = 0 ; j < collection->size() ; ++j )
204  objects.push_back(std::make_shared<TriggerObject>(collection->at(j)));
205  return objects;
206 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
std::vector< std::shared_ptr< TriggerObject > > TriggerAnalyser::triggerObjectsL1Jets ( )

Definition at line 190 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, and analysis::tools::BaseAnalyser::config_.

Referenced by main().

191 {
192  auto collection = analysis_->collection<TriggerObject>(config_->triggerObjectsL1Jets());
193  std::vector< std::shared_ptr<TriggerObject> > objects;
194  for ( int j = 0 ; j < collection->size() ; ++j )
195  objects.push_back(std::make_shared<TriggerObject>(collection->at(j)));
196  return objects;
197 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
std::vector< std::shared_ptr< TriggerObject > > TriggerAnalyser::triggerObjectsL1Muons ( )

Definition at line 217 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, and analysis::tools::BaseAnalyser::config_.

218 {
219  auto collection = analysis_->collection<TriggerObject>(config_->triggerObjectsL1Muons());
220  std::vector< std::shared_ptr<TriggerObject> > objects;
221  for ( int j = 0 ; j < collection->size() ; ++j )
222  objects.push_back(std::make_shared<TriggerObject>(collection->at(j)));
223  return objects;
224 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
std::vector< std::shared_ptr< TriggerObject > > TriggerAnalyser::triggerObjectsL3Muons ( )

Definition at line 226 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, and analysis::tools::BaseAnalyser::config_.

227 {
228  auto collection = analysis_->collection<TriggerObject>(config_->triggerObjectsL3Muons());
229  std::vector< std::shared_ptr<TriggerObject> > objects;
230  for ( int j = 0 ; j < collection->size() ; ++j )
231  objects.push_back(std::make_shared<TriggerObject>(collection->at(j)));
232  return objects;
233 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61
std::vector< std::shared_ptr< TriggerObject > > TriggerAnalyser::triggerObjectsPFJets ( )

Definition at line 208 of file TriggerAnalyser.cc.

References analysis::tools::BaseAnalyser::analysis_, and analysis::tools::BaseAnalyser::config_.

209 {
210  auto collection = analysis_->collection<TriggerObject>(config_->triggerObjectsPFJets());
211  std::vector< std::shared_ptr<TriggerObject> > objects;
212  for ( int j = 0 ; j < collection->size() ; ++j )
213  objects.push_back(std::make_shared<TriggerObject>(collection->at(j)));
214  return objects;
215 }
std::shared_ptr< Config > config_
Config objects.
Definition: BaseAnalyser.h:63
std::shared_ptr< Analysis > analysis_
Analysis objects.
Definition: BaseAnalyser.h:61

Member Data Documentation

bool analysis::tools::TriggerAnalyser::l1tjetsanalysis_
protected

Definition at line 48 of file TriggerAnalyser.h.

Referenced by l1tJetsAnalysis(), and TriggerAnalyser().

bool analysis::tools::TriggerAnalyser::l1tmuonsanalysis_
protected

Definition at line 49 of file TriggerAnalyser.h.

Referenced by l1tMuonsAnalysis(), and TriggerAnalyser().

bool analysis::tools::TriggerAnalyser::triggeranalysis_
protected

Definition at line 47 of file TriggerAnalyser.h.

Referenced by analysisWithTrigger(), and TriggerAnalyser().


The documentation for this class was generated from the following files: