-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAnalyzerFR.h
More file actions
107 lines (91 loc) · 3.47 KB
/
AnalyzerFR.h
File metadata and controls
107 lines (91 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#ifndef AnalyzerFR_h
#define AnalyzerFR_h
#include <set>
#include "Data.h"
#include "ElectronSelection.h"
#include "MuonSelection.h"
#include "JetSelection.h"
#include "GenSelection.h"
#include "SelectionFunctions.h"
#include "OtherFunctions.h"
#include "ElectronPlots.h"
#include "MuonPlots.h"
#include "JetPlots.h"
#include "SignalPlots.h"
#include "Reweight.cc"
#include "BTagSFUtil.h"
#include "FakeFunctions.h"
class AnalyzerFR : public Data {
// TH2F *h_nEvents, *h_nEventsFO, *h_FOrate;
static const Bool_t debug = false;
static const Double_t integratedlumi = 19762.501;
// static const Double_t integratedlumi = 1.927196301; HLT_Mu5,8
// static const Double_t integratedlumi = 4.391111; //HLT_Mu8,12
// static const Double_t integratedlumi = 22.945019; HLT_Mu17
// static const Double_t integratedlumi = 83.483; HLT_Mu24
// static const Double_t integratedlumi = 123.9391;
// static const Double_t integratedlumi = 1.0; //for Fakes
static const Double_t Mass_Z = 91.1876;
static const Double_t Mass_W = 80.398;
//static const Double_t trigeff = 0.94;
//static const Double_t mu1scale = 0.927;
//static const Double_t mu2scale = 0.992;
Double_t *****doubleFake; Double_t ***singleFake; Double_t *****doubleANDsingleFake;
Double_t *finalbkg1, *finalbkgerror1, *finalbkg2, *finalbkgerror2, *realsingle, *realsingleerror, *realdouble, *realtotal, *doubletosingle, *errdoubletosingle;
Double_t jets2mass, triggerweight;
Double_t ptMu0, ptMu1, ID_weight_0, ID_weight_1;
Int_t tempCharge, index, triggerMu1, triggerMu2;
UInt_t dataType;
Double_t Wcand_tmp, Wcand, METcut, METcontrol;
Bool_t VETO, SINGLEFAKE, DOUBLEFAKE, b_found, muonbad;
Bool_t triggerMatched[2];
BTagSFUtil *fBTagSF;
Int_t jetFlavour;
Double_t METEnDown, METEnUp, METResDown, METResUp, METEUnDown, METEUnUp;
Bool_t b_foundEffDown, b_foundEffUp, b_foundMissDown, b_foundMissUp;
public:
static const Bool_t MC_pu = false;
ReweightPU *reweightPU;
TH1F *h_nvtx_norw, *h_nvtx_rw;
UInt_t numberVertices;
TString completename;
Bool_t *goodVerticies;
Bool_t noTriggerMatched;
TDirectory *Dir;
TH1F *h_prova, *h_RelIsoFR;
TH1F *h_nVertex, *h_nVertex0, *h_nVertex1, *h_nVertex2;
TH1F *h_nsignal, *h_cutflow;
TH2F *h_singlefake, *h_doublefake;
TH1F *h_MET, *h_METsign, *h_MuonMissCharge, *h_EventFakeType;
TH2F *FRhisto, *h_dRvsbTag;
TH2F *Mu10_STAT, *Mu10_SYS, *Mu20_STAT, *Mu20_SYS;
TH2F *ID_Iso;
TH2I *h_LeptvsVert;
TFile *outfile;
Long64_t entrieslimit;
Double_t METx, METy, MET, dr, MCweight, weight;
UInt_t VertexN;
Int_t prescaler;
MuonSel MuonTight, MuonLooseButNOTight, MuonLoose, MuonVeto;
GenSel GenTight;
ElectronSel ElectronTight, ElectronLoose;
JJ JetsVeto, Jets;
// std::vector<Lepton> lepton;
ElectronPlots *h_electrons, *h_electronsLoose;
MuonPlots *h_muons, *h_muonsLoose, *h_LnotT;// *h_muonCharge;
JetPlots *h_jets, *h_jets_veto;
//SignalPlots *h_signal3;
SignalPlots *h_signal, *h_signalMET50, *h_signalbTag, *h_signalTOT, *h_WZcontrol;
SignalPlots *h_singlefakes, *h_doublefakes, *h_totalfakes;
SignalPlots *h_singlefakesMET50, *h_doublefakesMET50, *h_totalfakesMET50;
SignalPlots *h_singlefakesbTag, *h_doublefakesbTag, *h_totalfakesbTag;
SignalPlots *h_singlefakesTOT, *h_doublefakesTOT, *h_totalfakesTOT;
AnalyzerFR();
~AnalyzerFR();
void Loop();
void LoopMC();
void SetWeight(Double_t CrossSection, Double_t nevents);
void SetName(TString name, Int_t version);
void SetEvtN(Long64_t events);
};
#endif