DESY Hbb Analysis Framework
Functions
AnalyserSimpleExample.cc File Reference
#include "Analysis/Tools/interface/Analyser.h"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Function Documentation

int main ( int  argc,
char **  argv 
)

Definition at line 11 of file AnalyserSimpleExample.cc.

References analysis::tools::JetAnalyser::actionApplyBjetRegression(), analysis::tools::JetAnalyser::actionApplyBtagSF(), analysis::tools::JetAnalyser::actionApplyJER(), analysis::tools::BaseAnalyser::config(), analysis::tools::Analyser::event(), analysis::tools::JetAnalyser::fillJetHistograms(), analysis::tools::JetAnalyser::jetHistograms(), analysis::tools::BaseAnalyser::nEvents(), analysis::tools::JetAnalyser::onlineBJetMatching(), analysis::tools::JetAnalyser::onlineJetMatching(), analysis::tools::MuonAnalyser::onlineMuonMatching(), analysis::tools::JetAnalyser::selectionBJet(), analysis::tools::TriggerAnalyser::selectionHLT(), analysis::tools::JetAnalyser::selectionJet(), analysis::tools::JetAnalyser::selectionJetDr(), analysis::tools::JetAnalyser::selectionJetId(), analysis::tools::JetAnalyser::selectionJetPileupId(), analysis::tools::TriggerAnalyser::selectionL1(), analysis::tools::MuonAnalyser::selectionMuonId(), analysis::tools::MuonAnalyser::selectionMuons(), analysis::tools::JetAnalyser::selectionNJets(), and analysis::tools::MuonAnalyser::selectionNMuons().

12 {
13  TH1::SetDefaultSumw2(); // proper treatment of errors when scaling histograms
14 
15  Analyser analyser(argc,argv);
16 
17 // HISTOGRAMS
18  // create some predefined jet histograms
19  analyser.jetHistograms(2,"initial");
20  analyser.jetHistograms(2,"final");
21  // create some predefined muon histograms
22  // muon histograms still not available
23 
24  for ( int i = 0 ; i < analyser.nEvents() ; ++i )
25  {
26  if ( ! analyser.event(i) ) continue;
27 
28 // MUONS pre-selection
29  // muon identification selection
30  if ( ! analyser.selectionMuonId() ) continue;
31  if ( ! analyser.selectionNMuons() ) continue;
32 
33 // JETS pre-selection
34  // jet identification selection
35  if ( ! analyser.selectionJetId() ) continue;
36  if ( ! analyser.selectionJetPileupId() ) continue;
37  if ( ! analyser.selectionNJets() ) continue;
38 
39  analyser.fillJetHistograms("initial");
40 
41 // CORRECTIONS
42  // b energy regression
43  if ( analyser.config()->bRegression() ) analyser.actionApplyBjetRegression();
44  // Jet energy resolution smearing
45  analyser.actionApplyJER();
46 
47 // MAIN SELECTION
48  // JETS
49  // 1st and 2nd jet kinematic selection, pt and eta
50  if ( ! analyser.selectionJet(1) ) continue;
51  if ( ! analyser.selectionJet(2) ) continue;
52  // delta R jet selection
53  if ( ! analyser.selectionJetDr(1,2) ) continue;
54  // btag of two leading jets
55  if ( ! analyser.selectionBJet(1) ) continue; analyser.actionApplyBtagSF(1);
56  if ( ! analyser.selectionBJet(2) ) continue; analyser.actionApplyBtagSF(2);
57 
58  // MUON
59  // muon kinematic selection
60  if ( ! analyser.selectionMuons() ) continue;
61 
62 // TRIGGER selection
63  if ( ! analyser.selectionL1 () ) continue; // to be used mainly in case of "OR" of seeds
64  if ( ! analyser.selectionHLT() ) continue;
65  // jets 1 and 2 matching to online jets and btag
66  if ( ! analyser.onlineJetMatching(1) ) continue;
67  if ( ! analyser.onlineBJetMatching(1) ) continue;
68  if ( ! analyser.onlineJetMatching(2) ) continue;
69  if ( ! analyser.onlineBJetMatching(2) ) continue;
70  // muon trigger matching
71  if ( ! analyser.onlineMuonMatching() ) continue;
72 
73 // HISTOGRAMS
74  analyser.fillJetHistograms("final");
75 
76  } //end event loop
77 } // end main