-
Notifications
You must be signed in to change notification settings - Fork 0
/
AnalyzerCosmic.h
123 lines (106 loc) · 4.06 KB
/
AnalyzerCosmic.h
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#ifndef AnalyzerCosmic_h
#define AnalyzerCosmic_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 "CutPlots.h"
#include "Fakes.h"
class AnalyzerCosmic : public Data {
TH2F *h_nEvents, *h_nEventsFO, *h_FOrate;
static const Bool_t debug = false;
static const Double_t integratedlumi = 19711.2;//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;
TH1F *h_muonCharge, *h_PFSumET, *h_HT;
TH2F *FRhisto, *h_dRvsbTag;
TH2F *Mu10_STAT, *Mu10_SYS, *Mu20_STAT, *Mu20_SYS;
TH2F *ID_Iso;
TH2I *h_LeptvsVert;
TH1F *h_muonPos;
TH1F *h_muonNeg;
TH1F *h_muonMiss;
TH1F *h_pt_T;
TH1F *h_pt_SS;
TH1F *h_pt_Flip;
TH1F *h_DY_pt_T, *h_DY_pt_SS, *h_DY_pt_Flip;
TFile *outfile;
Long64_t entrieslimit;
Double_t METx, METy, MET, dr, MCweight, weight, noweight;
UInt_t VertexN;
Int_t prescaler, HT, tag;
MuonSel MuonPOG;//MuonTight, MuonLooseButNOTight, MuonLoose, MuonVeto;
//GenSel GenTight;
ElectronSel Electron;//Tight, ElectronLoose;
JJ Jets;
// std::vector<Lepton> lepton;
//ElectronPlots *h_electrons, *h_electronsLoose;
MuonPlots *h_muonsPOG, *h_muonsPOG2;//, *h_muons, *h_muonsLoose, *h_LnotT;// *h_muonCharge;
JetPlots *h_jets, *h_jets_2muons;
Fakes *h_ChargeFlip, *h_ChargeFlipCuts, *h_TagFlip;
Fakes *h_DYFlip, *h_DYFlipCut, *h_DYFlipTag;
Fakes *h_NoJets_Flip_SS, *h_NoJets_Flip_OS;
//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;*/
StdPlots *h_noCuts;
CutPlots *h_muons, *h_twoMu, *h_singleIso, *h_pt, *h_PFRange, *h_METRange;
CutPlots *h_HTRange, *h_NoJets;//, *h_Njets;
CutPlots *h_NoJets_SS, *h_NoJets_OS;
AnalyzerCosmic();
~AnalyzerCosmic();
void Loop();
void SetWeight(Double_t CrossSection, Double_t nevents);
void SetName(TString name, Int_t version);
void SetEvtN(Long64_t events);
};
#endif