DESY Hbb Analysis Framework
Functions
AnalyserBtagExample.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 AnalyserBtagExample.cc.

References analysis::tools::JetAnalyser::actionApplyBjetRegression(), analysis::tools::JetAnalyser::actionApplyBtagSF(), analysis::tools::JetAnalyser::actionApplyJER(), analysis::tools::BaseAnalyser::analysis(), analysis::tools::BaseAnalyser::config(), analysis::tools::Analyser::event(), analysis::tools::JetAnalyser::fillJetHistograms(), analysis::tools::JetAnalyser::jetHistograms(), analysis::tools::BaseAnalyser::nEvents(), analysis::tools::JetAnalyser::selectionBJet(), analysis::tools::JetAnalyser::selectionJet(), analysis::tools::JetAnalyser::selectionJetDphi(), analysis::tools::JetAnalyser::selectionJetDr(), analysis::tools::JetAnalyser::selectionJetId(), analysis::tools::JetAnalyser::selectionJetPileupId(), and analysis::tools::JetAnalyser::selectionNJets().

12 {
13  TH1::SetDefaultSumw2(); // proper treatment of errors when scaling histograms
14 
15  Analyser analyser(argc,argv);
16 
17  // you can always get the ususal analysis class
18  auto analysis = analyser.analysis();
19 
20 // HISTOGRAMS
21  // create some predefined jet histograms
22  analyser.jetHistograms(2,"jets");
23  analyser.jetHistograms(2,"btag_jets");
24 
25  for ( int i = 0 ; i < analyser.nEvents() ; ++i )
26  {
27  if ( ! analyser.event(i) ) continue;
28 
29 // JETS pre-selection
30  // jet identification selection
31  if ( ! analyser.selectionJetId() ) continue;
32  if ( ! analyser.selectionJetPileupId() ) continue;
33  if ( ! analyser.selectionNJets() ) continue;
34 
35 // CORRECTIONS to pre-selected jets
36  // b energy regression
37  if ( analyser.config()->bRegression() )
38  analyser.actionApplyBjetRegression();
39 
40  // MC-only jet corrections
41  if ( analyser.config()->isMC() )
42  {
43  // apply btag SF
44  analyser.actionApplyBtagSF(1);
45  analyser.actionApplyBtagSF(2);
46 
47  // jet energy resolution to all selected jets
48  analyser.actionApplyJER();
49  }
50 
51 // MAIN SELECTION
52  // JETS
53  // 1st and 2nd jet kinematic selection, pt and eta
54  if ( ! analyser.selectionJet(1) ) continue;
55  if ( ! analyser.selectionJet(2) ) continue;
56  // delta R jet selection
57  if ( ! analyser.selectionJetDphi(1,2) ) continue;
58  if ( ! analyser.selectionJetDr(1,2) ) continue;
59 // HISTOGRAMS
60  analyser.fillJetHistograms("jets");
61  // btag of two leading jets
62  if ( ! analyser.selectionBJet(1) ) continue;
63  if ( ! analyser.selectionBJet(2) ) continue;
64 // HISTOGRAMS
65  analyser.fillJetHistograms("btag_jets");
66 
67 
68  } //end event loop
69 } // end main