1 |
//////////////////////////////////////////////////////////
|
2 |
// This class has been automatically generated on
|
3 |
// Mon Apr 20 10:03:55 2009 by ROOT version 5.18/00a
|
4 |
// from TTree eventTree/Event Infos
|
5 |
// found on file: TopTree.root
|
6 |
//////////////////////////////////////////////////////////
|
7 |
|
8 |
#ifndef BackgdEstimate_h
|
9 |
#define BackgdEstimate_h
|
10 |
|
11 |
#include <TROOT.h>
|
12 |
#include <TChain.h>
|
13 |
#include <TFile.h>
|
14 |
#include <TCanvas.h>
|
15 |
#include <TBranch.h>
|
16 |
#include <TTree.h>
|
17 |
#include <TH1.h>
|
18 |
#include <TH2.h>
|
19 |
#include <TH3.h>
|
20 |
#include <TRef.h>
|
21 |
#include <TVector3.h>
|
22 |
#include <TString.h>
|
23 |
#include <iostream>
|
24 |
#include <vector>
|
25 |
#include <iomanip>
|
26 |
|
27 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootMuon.h"
|
28 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootElectron.h"
|
29 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootJet.h"
|
30 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootMET.h"
|
31 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootGenEvent.h"
|
32 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootSignalEvent.h"
|
33 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootEvent.h"
|
34 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootRun.h"
|
35 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootParticle.h"
|
36 |
#include "../../../../TopBrussels/TopTreeProducer/interface/TRootMCParticle.h"
|
37 |
|
38 |
//Nb of variables implemented for ABCD method
|
39 |
const Int_t kMaxObs = 19;
|
40 |
const Int_t kMaxBSMObs = 1;
|
41 |
|
42 |
struct LowestBtag{
|
43 |
bool operator()( TRootJet *j1, TRootJet *j2 ) const{
|
44 |
return j1->btag_trackCountingHighEffBJetTags() < j2->btag_trackCountingHighEffBJetTags();
|
45 |
}
|
46 |
};
|
47 |
|
48 |
class BackgdEstimate {
|
49 |
|
50 |
public :
|
51 |
|
52 |
BackgdEstimate();
|
53 |
//BackgdEstimate(TTree *);
|
54 |
virtual ~BackgdEstimate();
|
55 |
//virtual void Init(TTree *tree);
|
56 |
virtual void Calculate(TRootMuon *, std::vector< TRootJet* >&, std::vector< TRootJet* >&, TRootMET *);
|
57 |
virtual void MakePlots(TString *, Int_t *, Float_t *, Float_t *, TString *, Int_t *, Float_t *, Float_t *, Bool_t &);
|
58 |
virtual void FillPlots(Float_t &, Float_t &, Int_t &);
|
59 |
virtual void BookPlots(TFile *);
|
60 |
virtual Double_t Mttbar(TRootMuon *, std::vector< TRootJet* >&, TRootMET *);
|
61 |
//virtual Double_t NuPz(TRootMuon *, TRootMET *);
|
62 |
virtual Float_t GetObsValue(Int_t i){return ABCDMethod_Obs[i];};
|
63 |
virtual Float_t GetBSMObsValue(Int_t i){return ABCDMethod_BSMObs[i];};
|
64 |
virtual void SetObsValue(Int_t i, Float_t val){ ABCDMethod_Obs[i] = val;};
|
65 |
virtual void SetBSMObsValue(Int_t i, Float_t val){ ABCDMethod_BSMObs[i] = val;};
|
66 |
//virtual Int_t* MuonID(Int_t &, Int_t &, Float_t &, Float_t &, Bool_t &);
|
67 |
//virtual Int_t MuonSelection(Int_t *, Float_t &, Float_t &, Float_t &, Float_t &, Float_t &, Float_t &, Bool_t &);
|
68 |
//virtual Int_t* JetID(Int_t &, Float_t &, Float_t &);
|
69 |
//virtual Int_t* JetSelection(Int_t *, Float_t &);
|
70 |
//virtual Double_t Mttbar(Int_t &, Int_t *);
|
71 |
|
72 |
private :
|
73 |
|
74 |
// Variables related to the ABCD method
|
75 |
Float_t ABCDMethod_Obs[kMaxObs]; //
|
76 |
Float_t ABCDMethod_BSMObs[kMaxBSMObs]; //
|
77 |
std::vector<TH1F*> ABCDMethod_Plots1D; //
|
78 |
std::vector<TH2F*> ABCDMethod_Plots2D; //
|
79 |
std::vector<TH3F*> ABCDMethod_Plots3D; //
|
80 |
};
|
81 |
|
82 |
#endif
|
83 |
|