ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/macros/examples/runHgg2013Final_8TeV_test.C
Revision: 1.1
Committed: Fri Nov 22 14:28:24 2013 UTC (11 years, 5 months ago) by veverka
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Error occurred while calculating annotation data.
Log Message:
Enable smearing of the energy error without smearing the energy

File Contents

# Content
1 // $Id: runHgg2012HCP.C,v 1.2 2012/10/24 14:47:27 mingyang Exp $
2 #if !defined(__CINT__) || defined(__MAKECINT__)
3 #include <TSystem.h>
4 #include <TProfile.h>
5 #include "MitAna/DataUtil/interface/Debug.h"
6 #include "MitAna/Catalog/interface/Catalog.h"
7 #include "MitAna/TreeMod/interface/Analysis.h"
8 #include "MitAna/TreeMod/interface/HLTMod.h"
9 #include "MitAna/PhysicsMod/interface/RunLumiSelectionMod.h"
10 #include "MitAna/PhysicsMod/interface/MCProcessSelectionMod.h"
11 #include "MitAna/PhysicsMod/interface/PublisherMod.h"
12 #include "MitAna/DataTree/interface/JetCol.h"
13 #include "MitAna/DataTree/interface/PFJetCol.h"
14 #include "MitPhysics/Init/interface/ModNames.h"
15 #include "MitAna/DataTree/interface/Names.h"
16 #include "MitPhysics/Mods/interface/GoodPVFilterMod.h"
17 #include "MitPhysics/Mods/interface/MuonIDMod.h"
18 #include "MitPhysics/Mods/interface/ElectronIDMod.h"
19 #include "MitPhysics/Mods/interface/ElectronCleaningMod.h"
20 #include "MitPhysics/Mods/interface/PhotonIDMod.h"
21 #include "MitPhysics/Mods/interface/PhotonPairSelector.h"
22 #include "MitPhysics/Mods/interface/PhotonTreeWriter.h"
23 #include "MitPhysics/Mods/interface/PhotonCleaningMod.h"
24 #include "MitPhysics/Mods/interface/MergeLeptonsMod.h"
25 #include "MitPhysics/Mods/interface/JetCorrectionMod.h"
26 #include "MitPhysics/Mods/interface/PhotonMvaMod.h"
27 #include "MitPhysics/Mods/interface/MVASystematicsMod.h"
28 #include "MitPhysics/Mods/interface/SeparatePileUpMod.h"
29
30 #endif
31
32 //--------------------------------------------------------------------------------------------------
33 void runHgg2013Final_8TeV_test(const char *fileset = "0000",
34 const char *skim = "noskim",
35 //const char *dataset = "f11--h120gg-gf-v14b-pu",
36 //const char *dataset = "r11a-pho-j16-v1",
37 //const char *dataset = "meridiani2012-diphoj-v9",
38 //const char *dataset = "s12-h125gg-gf-v9",
39 //const char *dataset = "s12-pj40-2em-v9",
40 //const char *dataset = "s12-diphoj-3-v9",
41 //const char *dataset = "s12-zllm50-v9",
42 //const char *dataset = "f11--h121gg-gf-v14b-pu",
43 //const char *dataset = "r12a-pho-pr-v1",
44 //const char *dataset = "s12-pj40-2em-v9",
45 //const char *dataset = "s12-h125gg-vbf-v7a",
46 //const char *dataset = "s12-h125gg-vh-v7a",
47 //const char *dataset = "s12-h125gg-gf-v7a",
48 //const char *dataset = "r12a-pho-j13-v1",
49 //const char *dataset = "r12b-dph-j13-v1",
50 //const char *dataset = "s12-zllm50-v7a",
51 //const char *dataset = "r12a-pho-j22-v1",
52 //const char *dataset = "r12b-dph-j22-v1",
53 //const char *dataset = "r12c-dph-j22-v1",
54 //const char *dataset = "r12d-dph-j22-v1",
55 //const char *dataset = "s12-h124gg-gf-v7n",
56 const char *dataset = "s12-diphoj-m60-v7n",
57 const char *book = "t2mit/filefi/030",
58 //const char *book = "local/filefi/029",
59 const char *catalogDir = "/home/cmsprod/catalog",
60 const char *outputName = "hgg",
61 int nEvents = 1000)
62 {
63 //------------------------------------------------------------------------------------------------
64 // some parameters get passed through the environment
65 //------------------------------------------------------------------------------------------------
66 char json[1024], overlap[1024];
67 float overlapCut = -1;
68
69 if (gSystem->Getenv("MIT_PROD_JSON"))
70 sprintf(json, "%s",gSystem->Getenv("MIT_PROD_JSON"));
71 else {
72 sprintf(json, "%s", "~");
73 //printf(" JSON file was not properly defined. EXIT!\n");
74 //return;
75 }
76
77 TString jsonFile = TString("/home/mingyang/cms/json/") + TString(json);
78 //TString jsonFile = TString("/home/mingyang/cms/json/") + TString("Cert_136033-149442_7TeV_Dec22ReReco_Collisions10_JSON_v4.txt");
79 Bool_t isData = ( (jsonFile.CompareTo("/home/mingyang/cms/json/~") != 0) );
80
81 if (gSystem->Getenv("MIT_PROD_OVERLAP")) {
82 sprintf(overlap,"%s",gSystem->Getenv("MIT_PROD_OVERLAP"));
83 if (EOF == sscanf(overlap,"%f",&overlapCut)) {
84 printf(" Overlap was not properly defined. EXIT!\n");
85 return;
86 }
87 }
88 else {
89 sprintf(overlap,"%s", "-1.0");
90 //printf(" OVERLAP file was not properly defined. EXIT!\n");
91 //return;
92 }
93
94 printf("\n Initialization worked. \n\n");
95
96 //------------------------------------------------------------------------------------------------
97 // some global setups
98 //------------------------------------------------------------------------------------------------
99 using namespace mithep;
100 gDebugMask = Debug::kGeneral;
101 gDebugLevel = 3;
102
103 //------------------------------------------------------------------------------------------------
104 // set up information
105 //------------------------------------------------------------------------------------------------
106 RunLumiSelectionMod *runLumiSel = new RunLumiSelectionMod;
107 runLumiSel->SetAcceptMC(kTRUE); // Monte Carlo events are always accepted
108
109 MCProcessSelectionMod *mcselmod = new MCProcessSelectionMod;
110
111 MVASystematicsMod *sysMod = new MVASystematicsMod;
112 sysMod->SetMCR9Scale(1.0035, 1.0035);
113 sysMod->SetIsData(isData);
114
115 // only select on run- and lumisection numbers when valid json file present
116 if ((jsonFile.CompareTo("/home/mingyang/cms/json/~") != 0) &&
117 (jsonFile.CompareTo("/home/mingyang/cms/json/-") != 0) ) {
118 runLumiSel->AddJSONFile(jsonFile.Data());
119 }
120 if ((jsonFile.CompareTo("/home/mingyang/cms/json/-") == 0) ) {
121 printf("\n WARNING -- Looking at data without JSON file: always accept.\n\n");
122 runLumiSel->SetAbortIfNotAccepted(kFALSE); // accept all events if there is no valid JSON file
123 }
124
125 printf("\n Run lumi worked. \n\n");
126
127 //------------------------------------------------------------------------------------------------
128 // HLT information
129 //------------------------------------------------------------------------------------------------
130 HLTMod *hltModM = new HLTMod("HLTModM");
131 hltModM->AddTrigger("HLT_Mu9");
132 hltModM->AddTrigger("HLT_Mu11");
133 hltModM->AddTrigger("HLT_Mu15_v1");
134 hltModM->SetTrigObjsName("MyHltMuonObjs");
135 hltModM->SetAbortIfNotAccepted(kFALSE);
136
137 HLTMod *hltModE = new HLTMod("HLTModE");
138 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v1",150000,161176);
139 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v2",161179,163261);
140 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v3",163262,164237);
141 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v4",165085,165888);
142 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v5",165900,166967);
143 hltModE->AddTrigger("HLT_Ele17_CaloIdL_CaloIsoVL_Ele8_CaloIdL_CaloIsoVL_v6",166968,170053);
144 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v6",170054,170759);
145 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v7",170760,173198);
146 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v8",173199,178380);
147 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v9",178381,179889);
148 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v10",179890,189999);
149 hltModE->AddTrigger("HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*",190000,999999);
150 hltModE->SetTrigObjsName("MyHltElecObjs");
151 hltModE->SetAbortIfNotAccepted(isData);
152
153 HLTMod *hltModES = new HLTMod("HLTModES");
154 hltModES->AddTrigger("HLT_Ele27_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_v*",160000,189999);
155 hltModES->AddTrigger("HLT_Ele27_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_v2",160000,189999);
156 hltModES->AddTrigger("HLT_Ele27_CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT_v3",160000,189999);
157 hltModES->AddTrigger("HLT_Ele25_WP80_PFMT40_v*",160000,189999);
158 hltModES->AddTrigger("HLT_Ele27_WP80_PFMT50_v*",160000,189999);
159 hltModES->AddTrigger("HLT_Ele27_WP80_v*",190000,999999);
160 hltModES->SetTrigObjsName("MyHltElecSObjs");
161 hltModES->SetAbortIfNotAccepted(isData);
162
163 HLTMod *hltModP = new HLTMod("HLTModP");
164
165 hltModP->AddTrigger("HLT_Photon26_CaloIdL_IsoVL_Photon18_CaloIdL_IsoVL_v*",160000,161176);
166
167 hltModP->AddTrigger("HLT_Photon26_CaloIdL_IsoVL_Photon18_CaloIdL_IsoVL_v*",161216,165633);
168 hltModP->AddTrigger("HLT_Photon26_CaloIdL_IsoVL_Photon18_R9Id_v*",161216,165633);
169 hltModP->AddTrigger("HLT_Photon26_R9Id_Photon18_CaloIdL_IsoVL_v*",161216,165633);
170 hltModP->AddTrigger("HLT_Photon20_R9Id_Photon18_R9Id_v*",161216,165633);
171
172 hltModP->AddTrigger("HLT_Photon26_CaloIdL_IsoVL_Photon18_CaloIdL_IsoVL_v*",165970,173198);
173 hltModP->AddTrigger("HLT_Photon26_CaloIdL_IsoVL_Photon18_R9Id_v*",165970,173198);
174 hltModP->AddTrigger("HLT_Photon26_R9Id_Photon18_CaloIdL_IsoVL_v*",165970,173198);
175 hltModP->AddTrigger("HLT_Photon26_R9Id_Photon18_R9Id_v*",165970,173198);
176 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_CaloIdL_IsoVL_v*",165970,173198);
177 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_CaloIdL_IsoVL_v*",165970,173198);
178 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_R9Id_v*",165970,173198);
179
180 hltModP->AddTrigger("HLT_Photon36_CaloId_IsoVL_Photon22_R9Id_v*",165970,166967);
181 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_R9Id_v*",167039,173198);
182
183 hltModP->AddTrigger("HLT_Photon26_CaloIdXL_IsoXL_Photon18_CaloIdXL_IsoXL_v*",173236,178380);
184 hltModP->AddTrigger("HLT_Photon26_CaloIdXL_IsoXL_Photon18_R9Id_v*",173236,178380);
185 hltModP->AddTrigger("HLT_Photon26_R9Id_Photon18_CaloIdXL_IsoXL_v*",173236,178380);
186 hltModP->AddTrigger("HLT_Photon26_R9Id_Photon18_R9Id_v*",173236,178380);
187 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_CaloIdL_IsoVL_v*",173236,178380);
188 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_R9Id_v*",173236,178380);
189 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_CaloIdL_IsoVL_v*",173236,178380);
190 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_R9Id_v*",173236,178380);
191
192 hltModP->AddTrigger("HLT_Photon26_CaloIdXL_IsoXL_Photon18_CaloIdXL_IsoXL_Mass60_v*",178420,189999);
193 hltModP->AddTrigger("HLT_Photon26_CaloIdXL_IsoXL_Photon18_R9IdT_Mass60_v*",178420,189999);
194 hltModP->AddTrigger("HLT_Photon26_R9IdT_Photon18_CaloIdXL_IsoXL_Mass60_v*",178420,189999);
195 hltModP->AddTrigger("HLT_Photon26_R9IdT_Photon18_R9IdT_Mass60_v*",178420,189999);
196 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_CaloIdL_IsoVL_v*",178420,189999);
197 hltModP->AddTrigger("HLT_Photon36_CaloIdL_IsoVL_Photon22_R9Id_v*",178420,189999);
198 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_CaloIdL_IsoVL_v*",178420,189999);
199 hltModP->AddTrigger("HLT_Photon36_R9Id_Photon22_R9Id_v*",178420,189999);
200
201 //hltModP->AddTrigger("HLT_Photon26_CaloId10_Iso50_Photon18_CaloId10_Iso50_Mass60_v*",190000,999999);
202 //hltModP->AddTrigger("HLT_Photon26_CaloId10_Iso50_Photon18_R9Id85_Mass60_v*",190000,999999);
203 //hltModP->AddTrigger("HLT_Photon26_R9Id85_OR_CaloId10_Iso50_Photon18_R9Id85_OR_CaloId10_Iso50_Mass60_v*",190000,999999);
204 //hltModP->AddTrigger("HLT_Photon26_R9Id85_OR_CaloId10_Iso50_Photon18_R9Id85_OR_CaloId10_Iso50_Mass70_v*",190000,999999);
205 //hltModP->AddTrigger("HLT_Photon26_R9Id85_Photon18_CaloId10_Iso50_Mass60_v*",190000,999999);
206 //hltModP->AddTrigger("HLT_Photon26_R9Id85_Photon18_R9Id85_Mass60_v*",190000,999999);
207 //hltModP->AddTrigger("HLT_Photon36_CaloId10_Iso50_Photon22_CaloId10_Iso50_v*",190000,999999);
208 //hltModP->AddTrigger("HLT_Photon36_CaloId10_Iso50_Photon22_R9Id85_v*",190000,999999);
209 //hltModP->AddTrigger("HLT_Photon36_R9Id85_OR_CaloId10_Iso50_Photon22_R9Id85_OR_CaloId10_Iso50_v*",190000,999999);
210 //hltModP->AddTrigger("HLT_Photon36_R9Id85_Photon22_CaloId10_Iso50_v*",190000,999999);
211 //hltModP->AddTrigger("HLT_Photon36_R9Id85_Photon22_R9Id85_v*",190000,999999);
212
213 hltModP->AddTrigger("HLT_Photon26_R9Id85_OR_CaloId10_Iso50_Photon18_R9Id85_OR_CaloId10_Iso50_Mass*",190000,999999);
214 hltModP->AddTrigger("HLT_Photon36_R9Id85_OR_CaloId10_Iso50_Photon22_R9Id85_OR_CaloId10_Iso50_v*",190000,999999);
215
216 hltModP->SetTrigObjsName("MyHltPhotObjs");
217 hltModP->SetAbortIfNotAccepted(isData);
218 //------------------------------------------------------------------------------------------------
219 // split pfcandidates to PFPU and PFnoPU
220 //------------------------------------------------------------------------------------------------
221 SeparatePileUpMod* SepPUMod = new SeparatePileUpMod;
222 // SepPUMod->SetUseAllVerteces(kFALSE);
223 // SepPUMod->SetVertexName("OutVtxCiC");
224 SepPUMod->SetPFNoPileUpName("pfnopileupcands");
225 SepPUMod->SetPFPileUpName("pfpileupcands");
226 SepPUMod->SetCheckClosestZVertex(kTRUE);
227
228 //------------------------------------------------------------------------------------------------
229 // select events with a good primary vertex
230 //------------------------------------------------------------------------------------------------
231 GoodPVFilterMod *goodPVFilterMod = new GoodPVFilterMod;
232 goodPVFilterMod->SetMinVertexNTracks(0);
233 goodPVFilterMod->SetMinNDof (4.0);
234 goodPVFilterMod->SetMaxAbsZ (24.0);
235 goodPVFilterMod->SetMaxRho (2.0);
236 goodPVFilterMod->SetAbortIfNotAccepted(kFALSE);
237 goodPVFilterMod->SetIsMC(!isData);
238
239 GoodPVFilterMod *goodPVFilterModE = new GoodPVFilterMod("GoodPVFilterModE");
240 goodPVFilterModE->SetOutputName("GoodVertexesE");
241 goodPVFilterModE->SetMinVertexNTracks(0);
242 goodPVFilterModE->SetMinNDof (4.0);
243 goodPVFilterModE->SetMaxAbsZ (24.0);
244 goodPVFilterModE->SetMaxRho (2.0);
245 goodPVFilterModE->SetIsMC(!isData);
246
247 GoodPVFilterMod *goodPVFilterModES = new GoodPVFilterMod("GoodPVFilterModES");
248 goodPVFilterModES->SetOutputName("GoodVertexesES");
249 goodPVFilterModES->SetMinVertexNTracks(0);
250 goodPVFilterModES->SetMinNDof (4.0);
251 goodPVFilterModES->SetMaxAbsZ (24.0);
252 goodPVFilterModES->SetMaxRho (2.0);
253
254
255 //------------------------------------------------------------------------------------------------
256 // object id and cleaning sequence
257 //------------------------------------------------------------------------------------------------
258 //-----------------------------------
259 // Lepton Selection
260 //-----------------------------------
261 ElectronIDMod* eleIdMod = new ElectronIDMod;
262 eleIdMod -> SetPtMin(20);
263 eleIdMod -> SetEtaMax(2.5);
264 eleIdMod -> SetApplyEcalFiducial(true);
265 eleIdMod -> SetIDType("Hgg_LeptonTag_2012IdHCP");
266 eleIdMod -> SetElectronMVAWeightsSubdet0Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat1.weights.xml"))));
267 eleIdMod -> SetElectronMVAWeightsSubdet1Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat2.weights.xml"))));
268 eleIdMod -> SetElectronMVAWeightsSubdet2Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat3.weights.xml"))));
269 eleIdMod -> SetElectronMVAWeightsSubdet0Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat4.weights.xml"))));
270 eleIdMod -> SetElectronMVAWeightsSubdet1Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat5.weights.xml"))));
271 eleIdMod -> SetElectronMVAWeightsSubdet2Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat6.weights.xml"))));
272 eleIdMod -> SetWhichVertex(-1);
273 eleIdMod -> SetD0Cut(0.02);
274 eleIdMod -> SetDZCut(0.2); //h
275 eleIdMod -> SetIsoType("PFIso_HggLeptonTag2012HCP"); //h
276 eleIdMod -> SetOutputName("HggLeptonTagElectrons");
277 eleIdMod -> SetRhoType(RhoUtilities::CMS_RHO_RHOKT6PFJETS);
278 eleIdMod -> SetPFNoPileUpName("pfnopileupcands");
279 eleIdMod -> SetInvertNExpectedHitsInnerCut(kFALSE);
280 eleIdMod -> SetNExpectedHitsInnerCut(1);
281 eleIdMod -> SetApplyConversionFilterType1(kTRUE);
282 eleIdMod -> SetPVName(Names::gkPVBeamSpotBrn);
283
284 MuonIDMod* muonIdMod = new MuonIDMod;
285 // base kinematics
286 muonIdMod -> SetPtMin(20.);
287 muonIdMod -> SetEtaCut(2.4);
288 // base ID
289 //muonIdMod -> SetIDType("Tight");
290 muonIdMod -> SetIDType("muonPOG2012CutBasedIDTight");
291 muonIdMod -> SetWhichVertex(-1); // this is a 'hack'.. but hopefully good enough...
292 muonIdMod -> SetD0Cut(0.2);
293 muonIdMod -> SetDZCut(0.5);
294 muonIdMod -> SetIsoType("PFIsoBetaPUCorrected"); //h
295 muonIdMod -> SetPFIsoCut(0.2); //h
296 muonIdMod -> SetOutputName("HggLeptonTagMuons");
297 muonIdMod -> SetPFNoPileUpName("pfnopileupcands");
298 muonIdMod -> SetPFPileUpName("pfpileupcands");
299 muonIdMod -> SetPVName(Names::gkPVBeamSpotBrn);
300
301 PublisherMod<PFJet,Jet> *pubJet = new PublisherMod<PFJet,Jet>("JetPub");
302 pubJet->SetInputName("AKt5PFJets");
303 pubJet->SetOutputName("PubAKt5PFJets");
304
305 PublisherMod<PFJet,Jet> *pubJetOpen = new PublisherMod<PFJet,Jet>("JetPubOpen");
306 pubJetOpen->SetInputName("AKt5PFJets");
307 pubJetOpen->SetOutputName("PubAKt5PFJetsOpen");
308
309 JetCorrectionMod *jetCorr = new JetCorrectionMod;
310 /*if(isData){
311 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/GR_P_V42_AN3_L1FastJet_AK5PF.txt")).Data()));
312 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/GR_P_V42_AN3_L2Relative_AK5PF.txt")).Data()));
313 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/GR_P_V42_AN3_L3Absolute_AK5PF.txt")).Data()));
314 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/GR_P_V42_AN3_L2L3Residual_AK5PF.txt")).Data()));
315 }
316 else {
317 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/START53_V15_L1FastJet_AK5PF.txt")).Data()));
318 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/START53_V15_L2Relative_AK5PF.txt")).Data()));
319 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/START53_V15_L3Absolute_AK5PF.txt")).Data()));
320 }*/
321 if(isData){
322 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_DATA_L1FastJet_AK5PF.txt")).Data()));
323 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_DATA_L2Relative_AK5PF.txt")).Data()));
324 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_DATA_L3Absolute_AK5PF.txt")).Data()));
325 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_DATA_L2L3Residual_AK5PF.txt")).Data()));
326 }
327 else {
328 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_MC_L1FastJet_AK5PF.txt")).Data()));
329 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_MC_L2Relative_AK5PF.txt")).Data()));
330 jetCorr->AddCorrectionFromFile(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/Summer12_V7_MC_L3Absolute_AK5PF.txt")).Data()));
331 }
332 jetCorr->SetInputName(pubJet->GetOutputName());
333 jetCorr->SetCorrectedName("CorrectedJets");
334
335
336 Bool_t excludedoubleprompt = kFALSE;
337 if (TString(dataset).Contains("-pj")) {
338 mcselmod->ExcludeProcess(18);
339 mcselmod->ExcludeProcess(114);
340 excludedoubleprompt = kTRUE;
341 }
342
343 if (TString(dataset).Contains("-qcd")) {
344 excludedoubleprompt = kTRUE;
345 }
346
347 Bool_t is25 = kFALSE;
348 if (TString(book).Contains("025")) is25 = kTRUE;
349
350 PhotonMvaMod *photreg = new PhotonMvaMod;
351 //photreg->SetRegressionVersion(3);
352 //photreg->SetRegressionWeights(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/gbrv3ph_52x.root")).Data()));
353 //photreg->SetOutputName("GoodPhotonsRegr");
354 //photreg->SetApplyShowerRescaling(kTRUE);
355 //photreg->SetIsData(isData);
356 photreg->SetRegressionVersion(5);
357 photreg->SetRegressionWeights(std::string((gSystem->Getenv("CMSSW_BASE") + TString("/src/MitPhysics/data/regweights_v5_forest_ph.root")).Data()));
358 photreg->SetOutputName("GoodPhotonsRegr");
359 photreg->SetApplyShowerRescaling(kTRUE);
360 photreg->SetIsData(isData);
361
362
363 PhotonPairSelector *photcic = new PhotonPairSelector("PhotonPairSelectorCiC");
364 photcic->SetOutputName("GoodPhotonsCIC");
365 photcic->SetOutputVtxName("OutVtxCiC");
366 photcic->SetPhotonSelType("CiCPFSelection");
367 photcic->SetVertexSelType("CiCMVA2012Selection");
368 photcic->SetUseSingleLegConversions(kFALSE);
369 photcic->DoMCSmear(kTRUE);
370 photcic->DoDataEneCorr(kFALSE);
371 photcic->SetPhotonsFromBranch(kFALSE);
372 photcic->SetInputPhotonsName(photreg->GetOutputName());
373
374 //------------------------------------------2012 HCP--------------------------------------------------------------
375 photcic->SetMCSmearFactors2012HCP(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
376 photcic->SetMCSmearFactors2012HCPMVA(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
377 photcic->UseSpecialSmearForDPMVA(true);
378 photcic->AddEnCorrPerRun2012HCP(190645,190781,0.9964,0.9964,1.0020,1.0020,0.9893,1.0028,0.9871,0.9937,0.9839,0.9958);
379 photcic->AddEnCorrPerRun2012HCP(190782,191042,1.0024,1.0024,1.0079,1.0079,0.9923,1.0058,0.9911,0.9977,0.9886,1.0005);
380 photcic->AddEnCorrPerRun2012HCP(191043,193555,0.9935,0.9935,0.9991,0.9991,0.9861,0.9997,0.9894,0.9960,0.9864,0.9982);
381 photcic->AddEnCorrPerRun2012HCP(193556,194150,0.9920,0.9920,0.9976,0.9976,0.9814,0.9951,0.9896,0.9962,0.9872,0.9990);
382 photcic->AddEnCorrPerRun2012HCP(194151,194532,0.9925,0.9925,0.9981,0.9981,0.9826,0.9963,0.9914,0.9980,0.9874,0.9993);
383 photcic->AddEnCorrPerRun2012HCP(194533,195113,0.9927,0.9927,0.9983,0.9983,0.9844,0.9981,0.9934,0.9999,0.9878,0.9996);
384 photcic->AddEnCorrPerRun2012HCP(195114,195915,0.9929,0.9929,0.9984,0.9984,0.9838,0.9974,0.9942,1.0007,0.9878,0.9997);
385 photcic->AddEnCorrPerRun2012HCP(195916,198115,0.9919,0.9919,0.9975,0.9975,0.9827,0.9964,0.9952,1.0017,0.9869,0.9987);
386 photcic->AddEnCorrPerRun2012HCP(198116,199803,0.9955,0.9955,1.0011,1.0011,0.9859,0.9995,0.9893,0.9959,0.9923,1.0041);
387 photcic->AddEnCorrPerRun2012HCP(199804,200048,0.9967,0.9967,1.0023,1.0023,0.9870,1.0006,0.9893,0.9959,0.9937,1.0055);
388 photcic->AddEnCorrPerRun2012HCP(200049,200151,0.9980,0.9980,1.0036,1.0036,0.9877,1.0012,0.9910,0.9976,0.9980,1.0097);
389 photcic->AddEnCorrPerRun2012HCP(200152,200490,0.9958,0.9958,1.0013,1.0013,0.9868,1.0004,0.9922,0.9988,0.9948,1.0065);
390 photcic->AddEnCorrPerRun2012HCP(200491,200531,0.9979,0.9979,1.0035,1.0035,0.9876,1.0012,0.9915,0.9981,0.9979,1.0096);
391 photcic->AddEnCorrPerRun2012HCP(200532,201656,0.9961,0.9961,1.0017,1.0017,0.9860,0.9996,0.9904,0.9970,0.9945,1.0063);
392 photcic->AddEnCorrPerRun2012HCP(201657,202305,0.9969,0.9969,1.0025,1.0025,0.9866,1.0002,0.9914,0.9980,0.9999,1.0116);
393 photcic->AddEnCorrPerRun2012HCP(202305,203002,0.9982,0.9982,1.0038,1.0038,0.9872,1.0008,0.9934,1.0000,1.0018,1.0135);
394 photcic->AddEnCorrPerRun2012HCP(203003,203984,1.0006,1.0006,1.0061,1.0061,0.9880,1.0017,0.9919,0.9988,0.9992,1.0104);
395 photcic->AddEnCorrPerRun2012HCP(203985,205085,0.9993,0.9993,1.0048,1.0048,0.9903,1.0040,0.9928,0.9997,0.9987,1.0099);
396 photcic->AddEnCorrPerRun2012HCP(205086,205310,1.0004,1.0004,1.0059,1.0059,0.9901,1.0037,0.9987,1.0055,1.0091,1.0202);
397 photcic->AddEnCorrPerRun2012HCP(205311,206207,1.0000,1.0000,1.0055,1.0055,0.9891,1.0028,0.9948,1.0017,1.0032,1.0144);
398 photcic->AddEnCorrPerRun2012HCP(206208,206483,1.0003,1.0003,1.0058,1.0058,0.9895,1.0032,0.9921,0.9989,1.0056,1.0167);
399 photcic->AddEnCorrPerRun2012HCP(206484,206597,1.0005,1.0005,1.0060,1.0060,0.9895,1.0032,0.9968,1.0036,1.0046,1.0158);
400 photcic->AddEnCorrPerRun2012HCP(206598,206896,1.0006,1.0006,1.0061,1.0061,0.9881,1.0017,0.9913,0.9982,1.0050,1.0162);
401 photcic->AddEnCorrPerRun2012HCP(206897,207220,1.0006,1.0006,1.0061,1.0061,0.9884,1.0021,0.9909,0.9978,1.0053,1.0165);
402 photcic->AddEnCorrPerRun2012HCP(207221,208686,1.0006,1.0006,1.0061,1.0061,0.9894,1.0030,0.9951,1.0020,1.0060,1.0172);
403
404 //-----------------------------------------------------------------------------------------------------------------
405
406 // photcic->SetDoMCR9Scaling(kTRUE);
407 // photcic->SetMCR9Scale(1.0035, 1.0035);
408 photcic->SetDoShowerShapeScaling(kFALSE);
409 photcic->SetShowerShapeType("2012ShowerShape");
410 //photcic->SetDoMCErrScaling(kTRUE);
411 //photcic->SetMCErrScale(1.07, 1.045);
412 //photcic->SetMCErrScale(1, 1); //ming:scale(sigE/E)
413 photcic->SetJetsName(jetCorr->GetOutputName());
414 //photcic->SetRescaledBeamspotWidth(5.0);
415 photcic->SetIsData(isData);
416 photcic->SetApplyLeptonTag(kTRUE);
417 photcic->SetLeptonTagElectronsName("HggLeptonTagElectrons");
418 photcic->SetLeptonTagMuonsName("HggLeptonTagMuons");
419 photcic->Set2012HCP(kTRUE);
420 photcic->SetIdMVAType("2013FinalIdMVA");
421
422 PhotonPairSelector *photcicnoeleveto = new PhotonPairSelector("PhotonPairSelectorCiCInvertEleVeto");
423 photcicnoeleveto->SetOutputName("GoodPhotonsCICNoEleVeto");
424 photcicnoeleveto->SetOutputVtxName("OutVtxCiCInvertEleVeto");
425 photcicnoeleveto->SetPhotonSelType("CiCPFSelection");
426 photcicnoeleveto->SetVertexSelType("CiCMVA2012Selection");
427 photcicnoeleveto->SetUseSingleLegConversions(kFALSE);
428 photcicnoeleveto->DoMCSmear(kTRUE);
429 photcicnoeleveto->DoDataEneCorr(kFALSE);
430 photcicnoeleveto->SetPhotonsFromBranch(kFALSE);
431 photcicnoeleveto->SetInputPhotonsName(photreg->GetOutputName());
432
433 //------------------------------------------2012 HCP--------------------------------------------------------------
434 photcicnoeleveto->SetMCSmearFactors2012HCP(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
435 photcicnoeleveto->SetMCSmearFactors2012HCPMVA(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
436 photcicnoeleveto->UseSpecialSmearForDPMVA(true);
437 photcicnoeleveto->AddEnCorrPerRun2012HCP(190645,190781,0.9964,0.9964,1.0020,1.0020,0.9893,1.0028,0.9871,0.9937,0.9839,0.9958);
438 photcicnoeleveto->AddEnCorrPerRun2012HCP(190782,191042,1.0024,1.0024,1.0079,1.0079,0.9923,1.0058,0.9911,0.9977,0.9886,1.0005);
439 photcicnoeleveto->AddEnCorrPerRun2012HCP(191043,193555,0.9935,0.9935,0.9991,0.9991,0.9861,0.9997,0.9894,0.9960,0.9864,0.9982);
440 photcicnoeleveto->AddEnCorrPerRun2012HCP(193556,194150,0.9920,0.9920,0.9976,0.9976,0.9814,0.9951,0.9896,0.9962,0.9872,0.9990);
441 photcicnoeleveto->AddEnCorrPerRun2012HCP(194151,194532,0.9925,0.9925,0.9981,0.9981,0.9826,0.9963,0.9914,0.9980,0.9874,0.9993);
442 photcicnoeleveto->AddEnCorrPerRun2012HCP(194533,195113,0.9927,0.9927,0.9983,0.9983,0.9844,0.9981,0.9934,0.9999,0.9878,0.9996);
443 photcicnoeleveto->AddEnCorrPerRun2012HCP(195114,195915,0.9929,0.9929,0.9984,0.9984,0.9838,0.9974,0.9942,1.0007,0.9878,0.9997);
444 photcicnoeleveto->AddEnCorrPerRun2012HCP(195916,198115,0.9919,0.9919,0.9975,0.9975,0.9827,0.9964,0.9952,1.0017,0.9869,0.9987);
445 photcicnoeleveto->AddEnCorrPerRun2012HCP(198116,199803,0.9955,0.9955,1.0011,1.0011,0.9859,0.9995,0.9893,0.9959,0.9923,1.0041);
446 photcicnoeleveto->AddEnCorrPerRun2012HCP(199804,200048,0.9967,0.9967,1.0023,1.0023,0.9870,1.0006,0.9893,0.9959,0.9937,1.0055);
447 photcicnoeleveto->AddEnCorrPerRun2012HCP(200049,200151,0.9980,0.9980,1.0036,1.0036,0.9877,1.0012,0.9910,0.9976,0.9980,1.0097);
448 photcicnoeleveto->AddEnCorrPerRun2012HCP(200152,200490,0.9958,0.9958,1.0013,1.0013,0.9868,1.0004,0.9922,0.9988,0.9948,1.0065);
449 photcicnoeleveto->AddEnCorrPerRun2012HCP(200491,200531,0.9979,0.9979,1.0035,1.0035,0.9876,1.0012,0.9915,0.9981,0.9979,1.0096);
450 photcicnoeleveto->AddEnCorrPerRun2012HCP(200532,201656,0.9961,0.9961,1.0017,1.0017,0.9860,0.9996,0.9904,0.9970,0.9945,1.0063);
451 photcicnoeleveto->AddEnCorrPerRun2012HCP(201657,202305,0.9969,0.9969,1.0025,1.0025,0.9866,1.0002,0.9914,0.9980,0.9999,1.0116);
452 photcicnoeleveto->AddEnCorrPerRun2012HCP(202305,203002,0.9982,0.9982,1.0038,1.0038,0.9872,1.0008,0.9934,1.0000,1.0018,1.0135);
453 photcicnoeleveto->AddEnCorrPerRun2012HCP(203003,203984,1.0006,1.0006,1.0061,1.0061,0.9880,1.0017,0.9919,0.9988,0.9992,1.0104);
454 photcicnoeleveto->AddEnCorrPerRun2012HCP(203985,205085,0.9993,0.9993,1.0048,1.0048,0.9903,1.0040,0.9928,0.9997,0.9987,1.0099);
455 photcicnoeleveto->AddEnCorrPerRun2012HCP(205086,205310,1.0004,1.0004,1.0059,1.0059,0.9901,1.0037,0.9987,1.0055,1.0091,1.0202);
456 photcicnoeleveto->AddEnCorrPerRun2012HCP(205311,206207,1.0000,1.0000,1.0055,1.0055,0.9891,1.0028,0.9948,1.0017,1.0032,1.0144);
457 photcicnoeleveto->AddEnCorrPerRun2012HCP(206208,206483,1.0003,1.0003,1.0058,1.0058,0.9895,1.0032,0.9921,0.9989,1.0056,1.0167);
458 photcicnoeleveto->AddEnCorrPerRun2012HCP(206484,206597,1.0005,1.0005,1.0060,1.0060,0.9895,1.0032,0.9968,1.0036,1.0046,1.0158);
459 photcicnoeleveto->AddEnCorrPerRun2012HCP(206598,206896,1.0006,1.0006,1.0061,1.0061,0.9881,1.0017,0.9913,0.9982,1.0050,1.0162);
460 photcicnoeleveto->AddEnCorrPerRun2012HCP(206897,207220,1.0006,1.0006,1.0061,1.0061,0.9884,1.0021,0.9909,0.9978,1.0053,1.0165);
461 photcicnoeleveto->AddEnCorrPerRun2012HCP(207221,208686,1.0006,1.0006,1.0061,1.0061,0.9894,1.0030,0.9951,1.0020,1.0060,1.0172);
462
463 //-----------------------------------------------------------------------------------------------------------------
464
465 //photcicnoeleveto->SetDoMCR9Scaling(kTRUE);
466 //photcicnoeleveto->SetMCR9Scale(1.0035, 1.0035);
467 photcicnoeleveto->SetDoShowerShapeScaling(kFALSE);
468 photcicnoeleveto->SetShowerShapeType("2012ShowerShape");
469 //photcicnoeleveto->SetDoMCErrScaling(kTRUE);
470 //photcicnoeleveto->SetMCErrScale(1.07, 1.045);
471 //photcicnoeleveto->SetMCErrScale(1, 1);
472 photcicnoeleveto->SetApplyEleVeto(kFALSE);
473 photcicnoeleveto->SetInvertElectronVeto(kTRUE);
474 photcicnoeleveto->SetJetsName(jetCorr->GetOutputName());
475 //photcicnoeleveto->SetRescaledBeamspotWidth(5.0);
476 photcicnoeleveto->SetIsData(isData);
477 photcicnoeleveto->SetApplyLeptonTag(kTRUE);
478 photcicnoeleveto->SetLeptonTagElectronsName("HggLeptonTagElectrons");
479 photcicnoeleveto->SetLeptonTagMuonsName("HggLeptonTagMuons");
480 photcicnoeleveto->Set2012HCP(kTRUE);
481 photcicnoeleveto->SetIdMVAType("2013FinalIdMVA");
482
483 PhotonPairSelector *photpresel = new PhotonPairSelector("PhotonPairSelectorPresel");
484 photpresel->SetOutputName("GoodPhotonsPresel");
485 photpresel->SetPhotonSelType("MITPFSelectionNoEcal");
486 photpresel->SetVertexSelType("CiCMVA2012Selection");
487 photpresel->SetUseSingleLegConversions(kFALSE);
488 photpresel->SetIdMVAType("2013FinalIdMVA");
489 photpresel->DoMCSmear(kTRUE);
490 photpresel->DoDataEneCorr(kFALSE);
491 photpresel->SetPhotonsFromBranch(kFALSE);
492 photpresel->SetInputPhotonsName(photreg->GetOutputName());
493 //------------------------------------------2012 HCP--------------------------------------------------------------
494 photpresel->SetMCSmearFactors2012HCP(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
495 photpresel->SetMCSmearFactors2012HCPMVA(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
496 photpresel->UseSpecialSmearForDPMVA(true);
497 photpresel->AddEnCorrPerRun2012HCP(190645,190781,0.9964,0.9964,1.0020,1.0020,0.9893,1.0028,0.9871,0.9937,0.9839,0.9958);
498 photpresel->AddEnCorrPerRun2012HCP(190782,191042,1.0024,1.0024,1.0079,1.0079,0.9923,1.0058,0.9911,0.9977,0.9886,1.0005);
499 photpresel->AddEnCorrPerRun2012HCP(191043,193555,0.9935,0.9935,0.9991,0.9991,0.9861,0.9997,0.9894,0.9960,0.9864,0.9982);
500 photpresel->AddEnCorrPerRun2012HCP(193556,194150,0.9920,0.9920,0.9976,0.9976,0.9814,0.9951,0.9896,0.9962,0.9872,0.9990);
501 photpresel->AddEnCorrPerRun2012HCP(194151,194532,0.9925,0.9925,0.9981,0.9981,0.9826,0.9963,0.9914,0.9980,0.9874,0.9993);
502 photpresel->AddEnCorrPerRun2012HCP(194533,195113,0.9927,0.9927,0.9983,0.9983,0.9844,0.9981,0.9934,0.9999,0.9878,0.9996);
503 photpresel->AddEnCorrPerRun2012HCP(195114,195915,0.9929,0.9929,0.9984,0.9984,0.9838,0.9974,0.9942,1.0007,0.9878,0.9997);
504 photpresel->AddEnCorrPerRun2012HCP(195916,198115,0.9919,0.9919,0.9975,0.9975,0.9827,0.9964,0.9952,1.0017,0.9869,0.9987);
505 photpresel->AddEnCorrPerRun2012HCP(198116,199803,0.9955,0.9955,1.0011,1.0011,0.9859,0.9995,0.9893,0.9959,0.9923,1.0041);
506 photpresel->AddEnCorrPerRun2012HCP(199804,200048,0.9967,0.9967,1.0023,1.0023,0.9870,1.0006,0.9893,0.9959,0.9937,1.0055);
507 photpresel->AddEnCorrPerRun2012HCP(200049,200151,0.9980,0.9980,1.0036,1.0036,0.9877,1.0012,0.9910,0.9976,0.9980,1.0097);
508 photpresel->AddEnCorrPerRun2012HCP(200152,200490,0.9958,0.9958,1.0013,1.0013,0.9868,1.0004,0.9922,0.9988,0.9948,1.0065);
509 photpresel->AddEnCorrPerRun2012HCP(200491,200531,0.9979,0.9979,1.0035,1.0035,0.9876,1.0012,0.9915,0.9981,0.9979,1.0096);
510 photpresel->AddEnCorrPerRun2012HCP(200532,201656,0.9961,0.9961,1.0017,1.0017,0.9860,0.9996,0.9904,0.9970,0.9945,1.0063);
511 photpresel->AddEnCorrPerRun2012HCP(201657,202305,0.9969,0.9969,1.0025,1.0025,0.9866,1.0002,0.9914,0.9980,0.9999,1.0116);
512 photpresel->AddEnCorrPerRun2012HCP(202305,203002,0.9982,0.9982,1.0038,1.0038,0.9872,1.0008,0.9934,1.0000,1.0018,1.0135);
513 photpresel->AddEnCorrPerRun2012HCP(203003,203984,1.0006,1.0006,1.0061,1.0061,0.9880,1.0017,0.9919,0.9988,0.9992,1.0104);
514 photpresel->AddEnCorrPerRun2012HCP(203985,205085,0.9993,0.9993,1.0048,1.0048,0.9903,1.0040,0.9928,0.9997,0.9987,1.0099);
515 photpresel->AddEnCorrPerRun2012HCP(205086,205310,1.0004,1.0004,1.0059,1.0059,0.9901,1.0037,0.9987,1.0055,1.0091,1.0202);
516 photpresel->AddEnCorrPerRun2012HCP(205311,206207,1.0000,1.0000,1.0055,1.0055,0.9891,1.0028,0.9948,1.0017,1.0032,1.0144);
517 photpresel->AddEnCorrPerRun2012HCP(206208,206483,1.0003,1.0003,1.0058,1.0058,0.9895,1.0032,0.9921,0.9989,1.0056,1.0167);
518 photpresel->AddEnCorrPerRun2012HCP(206484,206597,1.0005,1.0005,1.0060,1.0060,0.9895,1.0032,0.9968,1.0036,1.0046,1.0158);
519 photpresel->AddEnCorrPerRun2012HCP(206598,206896,1.0006,1.0006,1.0061,1.0061,0.9881,1.0017,0.9913,0.9982,1.0050,1.0162);
520 photpresel->AddEnCorrPerRun2012HCP(206897,207220,1.0006,1.0006,1.0061,1.0061,0.9884,1.0021,0.9909,0.9978,1.0053,1.0165);
521 photpresel->AddEnCorrPerRun2012HCP(207221,208686,1.0006,1.0006,1.0061,1.0061,0.9894,1.0030,0.9951,1.0020,1.0060,1.0172);
522
523 //-----------------------------------------------------------------------------------------------------------------
524 //photpresel->SetDoMCR9Scaling(kTRUE);
525 photpresel->SetDoShowerShapeScaling(kFALSE);
526 photpresel->SetShowerShapeType("2012ShowerShape");
527 //photpresel->SetDoMCErrScaling(kTRUE);
528 //photpresel->SetMCErrScale(1.07, 1.045);
529 //photpresel->SetMCErrScale(1, 1);
530 photpresel->SetJetsName(jetCorr->GetOutputName());
531 //photpresel->SetRescaledBeamspotWidth(5.0);
532 photpresel->SetIsData(isData);
533 photpresel->SetApplyLeptonTag(kTRUE);
534 photpresel->SetLeptonTagElectronsName("HggLeptonTagElectrons");
535 photpresel->SetLeptonTagMuonsName("HggLeptonTagMuons");
536 photpresel->Set2012HCP(kTRUE);
537
538 PhotonPairSelector *photpreselinverteleveto = new PhotonPairSelector("PhotonPairSelectorPreselInvertEleVeto");
539 photpreselinverteleveto->SetOutputName("GoodPhotonsPreselInvertEleVeto");
540 photpreselinverteleveto->SetOutputVtxName("OutVtxPreselInvertEleVeto");
541 photpreselinverteleveto->SetPhotonSelType("MITPFSelectionNoEcal");
542 photpreselinverteleveto->SetIdMVAType("2013FinalIdMVA");
543 //photpreselinverteleveto->SetVertexSelType("CiCMVA2012Selection");//ming change
544 photpreselinverteleveto->SetUseSingleLegConversions(kFALSE);
545 photpreselinverteleveto->DoMCSmear(kTRUE);
546 photpreselinverteleveto->DoDataEneCorr(kFALSE);
547 photpreselinverteleveto->SetPhotonsFromBranch(kFALSE);
548 photpreselinverteleveto->SetInputPhotonsName(photreg->GetOutputName());
549 //------------------------------------------2012 HCP--------------------------------------------------------------
550 photpreselinverteleveto->SetMCSmearFactors2012HCP(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
551 photpreselinverteleveto->SetMCSmearFactors2012HCPMVA(0.0072,0.0072,0.0083,0.0083,0.0107,0.0187,0.0156,0.0198,0.0187,0.0194);
552 photpreselinverteleveto->UseSpecialSmearForDPMVA(true);
553 photpreselinverteleveto->AddEnCorrPerRun2012HCP(190645,190781,0.9964,0.9964,1.0020,1.0020,0.9893,1.0028,0.9871,0.9937,0.9839,0.9958);
554 photpreselinverteleveto->AddEnCorrPerRun2012HCP(190782,191042,1.0024,1.0024,1.0079,1.0079,0.9923,1.0058,0.9911,0.9977,0.9886,1.0005);
555 photpreselinverteleveto->AddEnCorrPerRun2012HCP(191043,193555,0.9935,0.9935,0.9991,0.9991,0.9861,0.9997,0.9894,0.9960,0.9864,0.9982);
556 photpreselinverteleveto->AddEnCorrPerRun2012HCP(193556,194150,0.9920,0.9920,0.9976,0.9976,0.9814,0.9951,0.9896,0.9962,0.9872,0.9990);
557 photpreselinverteleveto->AddEnCorrPerRun2012HCP(194151,194532,0.9925,0.9925,0.9981,0.9981,0.9826,0.9963,0.9914,0.9980,0.9874,0.9993);
558 photpreselinverteleveto->AddEnCorrPerRun2012HCP(194533,195113,0.9927,0.9927,0.9983,0.9983,0.9844,0.9981,0.9934,0.9999,0.9878,0.9996);
559 photpreselinverteleveto->AddEnCorrPerRun2012HCP(195114,195915,0.9929,0.9929,0.9984,0.9984,0.9838,0.9974,0.9942,1.0007,0.9878,0.9997);
560 photpreselinverteleveto->AddEnCorrPerRun2012HCP(195916,198115,0.9919,0.9919,0.9975,0.9975,0.9827,0.9964,0.9952,1.0017,0.9869,0.9987);
561 photpreselinverteleveto->AddEnCorrPerRun2012HCP(198116,199803,0.9955,0.9955,1.0011,1.0011,0.9859,0.9995,0.9893,0.9959,0.9923,1.0041);
562 photpreselinverteleveto->AddEnCorrPerRun2012HCP(199804,200048,0.9967,0.9967,1.0023,1.0023,0.9870,1.0006,0.9893,0.9959,0.9937,1.0055);
563 photpreselinverteleveto->AddEnCorrPerRun2012HCP(200049,200151,0.9980,0.9980,1.0036,1.0036,0.9877,1.0012,0.9910,0.9976,0.9980,1.0097);
564 photpreselinverteleveto->AddEnCorrPerRun2012HCP(200152,200490,0.9958,0.9958,1.0013,1.0013,0.9868,1.0004,0.9922,0.9988,0.9948,1.0065);
565 photpreselinverteleveto->AddEnCorrPerRun2012HCP(200491,200531,0.9979,0.9979,1.0035,1.0035,0.9876,1.0012,0.9915,0.9981,0.9979,1.0096);
566 photpreselinverteleveto->AddEnCorrPerRun2012HCP(200532,201656,0.9961,0.9961,1.0017,1.0017,0.9860,0.9996,0.9904,0.9970,0.9945,1.0063);
567 photpreselinverteleveto->AddEnCorrPerRun2012HCP(201657,202305,0.9969,0.9969,1.0025,1.0025,0.9866,1.0002,0.9914,0.9980,0.9999,1.0116);
568 photpreselinverteleveto->AddEnCorrPerRun2012HCP(202305,203002,0.9982,0.9982,1.0038,1.0038,0.9872,1.0008,0.9934,1.0000,1.0018,1.0135);
569 photpreselinverteleveto->AddEnCorrPerRun2012HCP(203003,203984,1.0006,1.0006,1.0061,1.0061,0.9880,1.0017,0.9919,0.9988,0.9992,1.0104);
570 photpreselinverteleveto->AddEnCorrPerRun2012HCP(203985,205085,0.9993,0.9993,1.0048,1.0048,0.9903,1.0040,0.9928,0.9997,0.9987,1.0099);
571 photpreselinverteleveto->AddEnCorrPerRun2012HCP(205086,205310,1.0004,1.0004,1.0059,1.0059,0.9901,1.0037,0.9987,1.0055,1.0091,1.0202);
572 photpreselinverteleveto->AddEnCorrPerRun2012HCP(205311,206207,1.0000,1.0000,1.0055,1.0055,0.9891,1.0028,0.9948,1.0017,1.0032,1.0144);
573 photpreselinverteleveto->AddEnCorrPerRun2012HCP(206208,206483,1.0003,1.0003,1.0058,1.0058,0.9895,1.0032,0.9921,0.9989,1.0056,1.0167);
574 photpreselinverteleveto->AddEnCorrPerRun2012HCP(206484,206597,1.0005,1.0005,1.0060,1.0060,0.9895,1.0032,0.9968,1.0036,1.0046,1.0158);
575 photpreselinverteleveto->AddEnCorrPerRun2012HCP(206598,206896,1.0006,1.0006,1.0061,1.0061,0.9881,1.0017,0.9913,0.9982,1.0050,1.0162);
576 photpreselinverteleveto->AddEnCorrPerRun2012HCP(206897,207220,1.0006,1.0006,1.0061,1.0061,0.9884,1.0021,0.9909,0.9978,1.0053,1.0165);
577 photpreselinverteleveto->AddEnCorrPerRun2012HCP(207221,208686,1.0006,1.0006,1.0061,1.0061,0.9894,1.0030,0.9951,1.0020,1.0060,1.0172);
578
579 //-----------------------------------------------------------------------------------------------------------------
580 photpreselinverteleveto->SetShowerShapeType("2012ShowerShape");
581 photpreselinverteleveto->SetDoShowerShapeScaling(kFALSE);
582 //photpreselinverteleveto->SetDoMCErrScaling(kTRUE);
583 //photpreselinverteleveto->SetMCErrScale(1.07, 1.045);
584 //photpreselinverteleveto->SetMCErrScale(1, 1);
585 photpreselinverteleveto->SetApplyEleVeto(kFALSE);
586 photpreselinverteleveto->SetInvertElectronVeto(kTRUE);
587 photpreselinverteleveto->SetJetsName(jetCorr->GetOutputName());
588 //photpreselinverteleveto->SetRescaledBeamspotWidth(5.0);
589 photpreselinverteleveto->SetIsData(isData);
590 photpreselinverteleveto->SetApplyLeptonTag(kTRUE);
591 photpreselinverteleveto->SetLeptonTagElectronsName("HggLeptonTagElectrons");
592 photpreselinverteleveto->SetLeptonTagMuonsName("HggLeptonTagMuons");
593 photpreselinverteleveto->Set2012HCP(kTRUE);
594 photpreselinverteleveto->SetLeadingPtMin(20.);
595 photpreselinverteleveto->SetTrailingPtMin(20.);
596
597 PhotonPairSelector *photpreselnosmear = new PhotonPairSelector("PhotonPairSelectorPreselNoSmear");
598 photpreselnosmear->SetOutputName("GoodPhotonsPreselNoSmear");
599 photpreselnosmear->SetPhotonSelType("MITPFSelectionNoEcal");
600 photpreselnosmear->SetVertexSelType("CiCMVA2012Selection");
601 photpreselnosmear->SetUseSingleLegConversions(kFALSE);
602 photpreselnosmear->SetIdMVAType("2013FinalIdMVA");
603 photpreselnosmear->SetShowerShapeType("2012ShowerShape");
604 photpreselnosmear->SetDoShowerShapeScaling(kFALSE);
605 photpreselnosmear->SetPhotonsFromBranch(kFALSE);
606 photpreselnosmear->SetInputPhotonsName(photreg->GetOutputName());
607 photpreselnosmear->SetJetsName(jetCorr->GetOutputName());
608 photpreselnosmear->SetOutputVtxName("OutVtxNoSmear");
609 photpreselnosmear->SetLeadingPtMin(30.);
610 photpreselnosmear->SetTrailingPtMin(22.);
611 //photpreselnosmear->SetRescaledBeamspotWidth(5.0);
612 photpreselnosmear->SetIsData(isData);
613 photpreselnosmear->SetApplyLeptonTag(kTRUE);
614 photpreselnosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
615 photpreselnosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
616 photpreselnosmear->Set2012HCP(kTRUE);
617 photpreselnosmear->DoMCSmear(kFALSE);
618 photpreselnosmear->DoDataEneCorr(kFALSE);
619
620 PhotonPairSelector *photcicnosmear = new PhotonPairSelector("PhotonPairSelectorCiCNoSmear");
621 photcicnosmear->SetOutputName("GoodPhotonsCICNoSmear");
622 photcicnosmear->SetOutputVtxName("OutVtxCiCNoSmear");
623 photcicnosmear->SetPhotonSelType("CiCPFSelection");
624 photcicnosmear->SetVertexSelType("CiCMVA2012Selection");
625 photcicnosmear->SetUseSingleLegConversions(kFALSE);
626 photcicnosmear->DoMCSmear(kFALSE);
627 photcicnosmear->DoDataEneCorr(kFALSE);
628 photcicnosmear->SetPhotonsFromBranch(kFALSE);
629 photcicnosmear->SetInputPhotonsName(photreg->GetOutputName());
630 // photcicnosmear->SetDoMCR9Scaling(kTRUE);
631 // photcicnosmear->SetMCR9Scale(1.0035, 1.0035);
632 photcicnosmear->SetDoShowerShapeScaling(kFALSE);
633 photcicnosmear->SetShowerShapeType("2012ShowerShape");
634 //photcicnosmear->SetDoMCErrScaling(kTRUE);
635 //photcicnosmear->SetMCErrScale(1.07, 1.045);
636 //photcicnosmear->SetMCErrScale(1, 1); //ming:scale(sigE/E)
637 photcicnosmear->SetJetsName(jetCorr->GetOutputName());
638 //photcicnosmear->SetRescaledBeamspotWidth(5.0);
639 photcicnosmear->SetIsData(isData);
640 photcicnosmear->SetApplyLeptonTag(kTRUE);
641 photcicnosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
642 photcicnosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
643 photcicnosmear->Set2012HCP(kTRUE);
644
645 PhotonPairSelector *photpreselinvertelevetonosmear = new PhotonPairSelector("PhotonPairSelectorPreselInvertEleVetoNoSmear");
646 photpreselinvertelevetonosmear->SetOutputName("GoodPhotonsPreselInvertEleVetoNoSmear");
647 photpreselinvertelevetonosmear->SetPhotonSelType("MITPFSelectionNoEcal");
648 //photpreselinvertelevetonosmear->SetVertexSelType("CiCMVA2012Selection");//ming change
649 photpreselinvertelevetonosmear->SetUseSingleLegConversions(kFALSE);
650 photpreselinvertelevetonosmear->SetIdMVAType("2013FinalIdMVA");
651 photpreselinvertelevetonosmear->SetShowerShapeType("2012ShowerShape");
652 photpreselinvertelevetonosmear->SetDoShowerShapeScaling(kFALSE);
653 photpreselinvertelevetonosmear->SetPhotonsFromBranch(kFALSE);
654 photpreselinvertelevetonosmear->SetInputPhotonsName(photreg->GetOutputName());
655 photpreselinvertelevetonosmear->SetJetsName(jetCorr->GetOutputName());
656 photpreselinvertelevetonosmear->SetOutputVtxName("OutVtxPreselInvertEleVetoNoSmear");
657 //photpreselinvertelevetonosmear->SetLeadingPtMin(30.);
658 photpreselinvertelevetonosmear->SetLeadingPtMin(20.);//ming
659 //photpreselinvertelevetonosmear->SetTrailingPtMin(22.);
660 photpreselinvertelevetonosmear->SetTrailingPtMin(20.);//ming
661 //photpreselinvertelevetonosmear->SetRescaledBeamspotWidth(5.0);
662 photpreselinvertelevetonosmear->SetIsData(isData);
663 photpreselinvertelevetonosmear->SetApplyLeptonTag(kTRUE);
664 photpreselinvertelevetonosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
665 photpreselinvertelevetonosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
666 photpreselinvertelevetonosmear->Set2012HCP(kTRUE);
667 photpreselinvertelevetonosmear->DoMCSmear(kFALSE);
668 photpreselinvertelevetonosmear->DoDataEneCorr(kFALSE);
669 photpreselinvertelevetonosmear->SetApplyEleVeto(kFALSE);
670 photpreselinvertelevetonosmear->SetInvertElectronVeto(kTRUE);
671
672 PhotonTreeWriter *phottreecic = new PhotonTreeWriter("PhotonTreeWriterCiC");
673 phottreecic->SetPhotonsFromBranch(kFALSE);
674 phottreecic->SetInputPhotonsName(photcic->GetOutputName());
675 phottreecic->SetEnableJets(kTRUE);
676 phottreecic->SetApplyJetId(kTRUE);
677 phottreecic->SetPFJetsFromBranch(kFALSE);
678 phottreecic->SetPFJetName(jetCorr->GetOutputName());
679 phottreecic->SetExcludeDoublePrompt(excludedoubleprompt);
680 phottreecic->SetIsData(isData);
681 if (is25) phottreecic->SetEnablePFPhotons(kFALSE);
682 phottreecic->SetApplyLeptonTag(kTRUE);
683 phottreecic->SetLeptonTagElectronsName("HggLeptonTagElectrons");
684 phottreecic->SetLeptonTagMuonsName("HggLeptonTagMuons");
685 phottreecic->SetApplyVBFTag(kTRUE);
686 phottreecic->SetApplyPFMetCorr(kTRUE);
687 phottreecic->SetBeamspotWidth(5.0);
688
689 PhotonTreeWriter *phottreecicnoeleveto = new PhotonTreeWriter("PhotonTreeWriterCiCInvertEleVeto");
690 phottreecicnoeleveto->SetPhotonsFromBranch(kFALSE);
691 phottreecicnoeleveto->SetInputPhotonsName(photcicnoeleveto->GetOutputName());
692 phottreecicnoeleveto->SetEnableJets(kTRUE);
693 phottreecicnoeleveto->SetApplyJetId(kTRUE);
694 phottreecicnoeleveto->SetPFJetsFromBranch(kFALSE);
695 phottreecicnoeleveto->SetPFJetName(jetCorr->GetOutputName());
696 phottreecicnoeleveto->SetApplyElectronVeto(kFALSE);
697 phottreecicnoeleveto->SetExcludeDoublePrompt(excludedoubleprompt);
698 phottreecicnoeleveto->SetIsData(isData);
699 if (is25) phottreecicnoeleveto->SetEnablePFPhotons(kFALSE);
700 phottreecicnoeleveto->SetApplyLeptonTag(kTRUE);
701 phottreecicnoeleveto->SetLeptonTagElectronsName("HggLeptonTagElectrons");
702 phottreecicnoeleveto->SetLeptonTagMuonsName("HggLeptonTagMuons");
703 phottreecicnoeleveto->SetApplyVBFTag(kTRUE);
704 phottreecicnoeleveto->SetApplyPFMetCorr(kTRUE);
705 phottreecicnoeleveto->SetBeamspotWidth(5.0);
706
707 PhotonTreeWriter *phottreepresel = new PhotonTreeWriter("PhotonTreeWriterPresel");
708 phottreepresel->SetPhotonsFromBranch(kFALSE);
709 phottreepresel->SetInputPhotonsName(photpresel->GetOutputName());
710 phottreepresel->SetEnableJets(kTRUE);
711 phottreepresel->SetApplyJetId(kTRUE);
712 phottreepresel->SetPFJetsFromBranch(kFALSE);
713 phottreepresel->SetPFJetName(jetCorr->GetOutputName());
714 phottreepresel->SetExcludeDoublePrompt(excludedoubleprompt);
715 phottreepresel->SetIsData(isData);
716 if (is25) phottreepresel->SetEnablePFPhotons(kFALSE);
717 phottreepresel->SetApplyLeptonTag(kTRUE);
718 phottreepresel->SetLeptonTagElectronsName("HggLeptonTagElectrons");
719 phottreepresel->SetLeptonTagMuonsName("HggLeptonTagMuons");
720 phottreepresel->SetApplyVBFTag(kTRUE);
721 phottreepresel->SetApplyPFMetCorr(kTRUE);
722 phottreepresel->SetBeamspotWidth(5.0);
723 phottreepresel->SetElectronMVAWeightsSubdet0Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat1.weights.xml"))));
724 phottreepresel->SetElectronMVAWeightsSubdet1Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat2.weights.xml"))));
725 phottreepresel->SetElectronMVAWeightsSubdet2Pt10To20(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat3.weights.xml"))));
726 phottreepresel->SetElectronMVAWeightsSubdet0Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat4.weights.xml"))));
727 phottreepresel->SetElectronMVAWeightsSubdet1Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat5.weights.xml"))));
728 phottreepresel->SetElectronMVAWeightsSubdet2Pt20ToInf(TString((getenv("CMSSW_BASE")+string("/src/MitPhysics/data/ElectronMVAWeights/ElectronID_BDTG_EGamma2012NonTrigV0_Cat6.weights.xml"))));
729 phottreepresel->SetDoSynching(kTRUE);
730
731 PhotonTreeWriter *phottreepreselinverteleveto = new PhotonTreeWriter("PhotonTreeWriterPreselInvertEleVeto");
732 phottreepreselinverteleveto->SetPhotonsFromBranch(kFALSE);
733 phottreepreselinverteleveto->SetInputPhotonsName(photpreselinverteleveto->GetOutputName());
734 phottreepreselinverteleveto->SetEnableJets(kTRUE);
735 phottreepreselinverteleveto->SetApplyJetId(kTRUE);
736 phottreepreselinverteleveto->SetPFJetsFromBranch(kFALSE);
737 phottreepreselinverteleveto->SetPFJetName(jetCorr->GetOutputName());
738 phottreepreselinverteleveto->SetApplyElectronVeto(kFALSE);
739 phottreepreselinverteleveto->SetExcludeDoublePrompt(excludedoubleprompt);
740 phottreepreselinverteleveto->SetIsData(isData);
741 if (is25) phottreepreselinverteleveto->SetEnablePFPhotons(kFALSE);
742 phottreepreselinverteleveto->SetApplyLeptonTag(kTRUE);
743 phottreepreselinverteleveto->SetLeptonTagElectronsName("HggLeptonTagElectrons");
744 phottreepreselinverteleveto->SetLeptonTagMuonsName("HggLeptonTagMuons");
745 phottreepreselinverteleveto->SetApplyVBFTag(kTRUE);
746 phottreepreselinverteleveto->SetApplyPFMetCorr(kTRUE);
747 phottreepreselinverteleveto->SetBeamspotWidth(5.0);
748
749 PhotonTreeWriter *phottreepreselnosmear = new PhotonTreeWriter("PhotonTreeWriterPreselNoSmear");
750 phottreepreselnosmear->SetPhotonsFromBranch(kFALSE);
751 phottreepreselnosmear->SetInputPhotonsName(photpreselnosmear->GetOutputName());
752 phottreepreselnosmear->SetEnableJets(kTRUE);
753 phottreepreselnosmear->SetApplyJetId(kTRUE);
754 phottreepreselnosmear->SetPFJetsFromBranch(kFALSE);
755 phottreepreselnosmear->SetPFJetName(jetCorr->GetOutputName());
756 phottreepreselnosmear->SetExcludeDoublePrompt(excludedoubleprompt);
757 phottreepreselnosmear->SetIsData(isData);
758 if (is25) phottreepreselnosmear->SetEnablePFPhotons(kFALSE);
759 phottreepreselnosmear->SetApplyLeptonTag(kTRUE);
760 phottreepreselnosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
761 phottreepreselnosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
762 phottreepreselnosmear->SetApplyVBFTag(kTRUE);
763 phottreepreselnosmear->SetApplyPFMetCorr(kTRUE);
764 phottreepreselnosmear->SetBeamspotWidth(5.0);
765
766 PhotonTreeWriter *phottreecicnosmear = new PhotonTreeWriter("PhotonTreeWriterCiCNoSmear");
767 phottreecicnosmear->SetPhotonsFromBranch(kFALSE);
768 phottreecicnosmear->SetInputPhotonsName(photcicnosmear->GetOutputName());
769 phottreecicnosmear->SetEnableJets(kTRUE);
770 phottreecicnosmear->SetApplyJetId(kTRUE);
771 phottreecicnosmear->SetPFJetsFromBranch(kFALSE);
772 phottreecicnosmear->SetPFJetName(jetCorr->GetOutputName());
773 phottreecicnosmear->SetExcludeDoublePrompt(excludedoubleprompt);
774 phottreecicnosmear->SetIsData(isData);
775 if (is25) phottreecicnosmear->SetEnablePFPhotons(kFALSE);
776 phottreecicnosmear->SetApplyLeptonTag(kTRUE);
777 phottreecicnosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
778 phottreecicnosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
779 phottreecicnosmear->SetApplyVBFTag(kTRUE);
780 phottreecicnosmear->SetApplyPFMetCorr(kTRUE);
781 phottreecicnosmear->SetBeamspotWidth(5.0);
782
783 PhotonTreeWriter *phottreepreselinvertelevetonosmear = new PhotonTreeWriter("PhotonTreeWriterPreselInvertEleVetoNoSmear");
784 phottreepreselinvertelevetonosmear->SetPhotonsFromBranch(kFALSE);
785 phottreepreselinvertelevetonosmear->SetInputPhotonsName(photpreselinvertelevetonosmear->GetOutputName());
786 phottreepreselinvertelevetonosmear->SetEnableJets(kTRUE);
787 phottreepreselinvertelevetonosmear->SetApplyJetId(kTRUE);
788 phottreepreselinvertelevetonosmear->SetPFJetsFromBranch(kFALSE);
789 phottreepreselinvertelevetonosmear->SetPFJetName(jetCorr->GetOutputName());
790 phottreepreselinvertelevetonosmear->SetExcludeDoublePrompt(excludedoubleprompt);
791 phottreepreselinvertelevetonosmear->SetIsData(isData);
792 if (is25) phottreepreselinvertelevetonosmear->SetEnablePFPhotons(kFALSE);
793 phottreepreselinvertelevetonosmear->SetApplyLeptonTag(kTRUE);
794 phottreepreselinvertelevetonosmear->SetLeptonTagElectronsName("HggLeptonTagElectrons");
795 phottreepreselinvertelevetonosmear->SetLeptonTagMuonsName("HggLeptonTagMuons");
796 phottreepreselinvertelevetonosmear->SetApplyVBFTag(kTRUE);
797 phottreepreselinvertelevetonosmear->SetApplyPFMetCorr(kTRUE);
798 phottreepreselinvertelevetonosmear->SetBeamspotWidth(5.0);
799 phottreepreselinvertelevetonosmear->SetApplyElectronVeto(kFALSE);
800
801 PhotonIDMod *photidpresel = new PhotonIDMod("PhotonIDModPresel");
802 photidpresel->SetPtMin(25.0);
803 photidpresel->SetOutputName("GoodPhotonsPreselid");
804 photidpresel->SetIDType("MITPFSelection");
805 photidpresel->SetApplyElectronVeto(kTRUE);
806 photidpresel->SetIsData(isData);
807
808 PhotonIDMod *photidpreselinvert = new PhotonIDMod("PhotonIDModPreselInvert");
809 photidpreselinvert->SetPtMin(25.0);
810 photidpreselinvert->SetOutputName("GoodPhotonsPreselidInvert");
811 photidpreselinvert->SetIDType("MITPFSelection");
812 photidpreselinvert->SetApplyElectronVeto(kFALSE);
813 photidpreselinvert->SetInvertElectronVeto(kTRUE);
814 photidpreselinvert->SetIsData(isData);
815
816 PhotonTreeWriter *phottreesingle = new PhotonTreeWriter("PhotonTreeWriterSingle");
817 phottreesingle->SetWriteDiphotonTree(kFALSE);
818 phottreesingle->SetPhotonsFromBranch(kFALSE);
819 phottreesingle->SetInputPhotonsName(photidpresel->GetOutputName());
820 phottreesingle->SetEnableJets(kTRUE);
821 phottreesingle->SetPFJetsFromBranch(kFALSE);
822 phottreesingle->SetPFJetName(jetCorr->GetOutputName());
823 phottreesingle->SetBeamspotWidth(5.0);
824 phottreesingle->SetIsData(isData);
825 if (is25) phottreesingle->SetEnablePFPhotons(kFALSE);
826
827 PhotonTreeWriter *phottreesingleinvert = new PhotonTreeWriter("PhotonTreeWriterSingleInvert");
828 phottreesingleinvert->SetWriteDiphotonTree(kTRUE);
829 phottreesingleinvert->SetPhotonsFromBranch(kFALSE);
830 phottreesingleinvert->SetInputPhotonsName(photidpreselinvert->GetOutputName());
831 phottreesingleinvert->SetEnableJets(kTRUE);
832 phottreesingleinvert->SetPFJetsFromBranch(kFALSE);
833 phottreesingleinvert->SetPFJetName(pubJetOpen->GetOutputName());
834 phottreesingleinvert->SetApplyElectronVeto(kFALSE);
835 phottreesingleinvert->SetBeamspotWidth(5.0);
836 phottreesingleinvert->SetIsData(isData);
837 if (is25) phottreesingleinvert->SetEnablePFPhotons(kFALSE);
838
839
840 //------------------------------------------------------------------------------------------------
841 // making analysis chain
842 //------------------------------------------------------------------------------------------------
843 // this is how it always starts
844 runLumiSel ->Add(mcselmod);
845
846 if (TString(dataset).Contains("-h")) {
847 mcselmod ->Add(sysMod);
848 }
849
850 // high level trigger is always first
851 //mcselmod ->Add(hltModES);
852 //mcselmod ->Add(hltModE);
853
854 if (!TString(dataset).Contains("meridiani")) {
855 mcselmod ->Add(hltModP);
856 hltModP ->Add(goodPVFilterMod);
857 }
858 else {
859 mcselmod->Add(goodPVFilterMod);
860 }
861 //hltModE ->Add(goodPVFilterModE);
862 //hltModES ->Add(goodPVFilterModES);
863
864 //goodPVFilterMod ->Add(muonId);
865 goodPVFilterMod->Add(photreg);
866 photreg->Add(pubJet);
867 pubJet->Add(jetCorr);
868
869 // simple object id modules
870 //goodPVFilterModE -> Add(pubJetOpen);
871 //pubJetOpen -> Add(photidpreselinvert);
872 //goodPVFilterModES ->Add(elecIdS);
873 jetCorr ->Add(SepPUMod);
874 SepPUMod ->Add(eleIdMod);
875 eleIdMod ->Add(muonIdMod);
876
877 muonIdMod ->Add(photcic);
878 muonIdMod ->Add(photcicnoeleveto);
879 muonIdMod ->Add(photpresel);
880 muonIdMod ->Add(photpreselinverteleveto);
881 muonIdMod ->Add(photpreselnosmear);
882 muonIdMod ->Add(photpreselinvertelevetonosmear);
883 muonIdMod ->Add(photcicnosmear);
884
885 photcic ->Add(phottreecic);
886 photcicnoeleveto ->Add(phottreecicnoeleveto);
887 photpresel ->Add(phottreepresel);
888 photpreselinverteleveto ->Add(phottreepreselinverteleveto);
889 photpreselnosmear ->Add(phottreepreselnosmear);
890 photpreselinvertelevetonosmear ->Add(phottreepreselinvertelevetonosmear);
891 photcicnosmear ->Add(phottreecicnosmear);
892
893 //jetCorr ->Add(photidpresel);
894 //photidpresel ->Add(phottreesingle);
895
896 //photidpreselinvert ->Add(phottreesingleinvert);
897 //elecIdS->Add(phottreeES);
898
899
900 //TFile::SetOpenTimeout(0);
901 //TFile::SetCacheFileDir("./rootfilecache",kTRUE,kTRUE);
902 TFile::SetReadaheadSize(128*1024*1024);
903
904 //------------------------------------------------------------------------------------------------
905 // setup analysis
906 //------------------------------------------------------------------------------------------------
907 Analysis *ana = new Analysis;
908 ana->SetUseHLT(kTRUE);
909 ana->SetKeepHierarchy(kTRUE);
910 ana->SetSuperModule(runLumiSel);
911 ana->SetPrintScale(100);
912 if (nEvents >= 0)
913 ana->SetProcessNEvents(nEvents);
914
915 if (TString(dataset).Contains("meridiani")) {
916 ana->SetUseHLT(kFALSE);
917 }
918
919
920 //------------------------------------------------------------------------------------------------
921 // organize input
922 //------------------------------------------------------------------------------------------------
923 Catalog *c = new Catalog(catalogDir);
924 TString skimdataset = TString(dataset)+TString("/") +TString(skim);
925 Dataset *d = NULL;
926 TString bookstr = book;
927 Bool_t caching = kTRUE;
928 //Bool_t caching = kFALSE;
929 //if (TString(dataset).Contains("s11-h")) bookstr.ReplaceAll("local","t2mit");
930 if (TString(skim).CompareTo("noskim") == 0)
931 d = c->FindDataset(bookstr,dataset,fileset,caching);
932 else
933 d = c->FindDataset(bookstr,skimdataset.Data(),fileset,caching);
934
935 ana->AddDataset(d);
936 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12a-pho-j13-v1/385B77DE-58D0-E111-B925-001E67396928.root");//79737729
937 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12b-dph-j13-v1/FE308E0A-23D2-E111-8B2D-00266CFAE7D0.root");//871378986
938 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/54E239DC-2725-E211-A52C-003048D373F6.root");//528937923
939 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/EC80B121-7E30-E211-BFFF-5404A640A63D.root");//261543921
940 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/66CE9443-472C-E211-B08F-001D09F2437B.root");//483561562
941 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/F03B81B2-0B29-E211-B28F-BCAEC518FF67.root");
942 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/A6EC91DD-CB39-E211-8897-BCAEC53296F8.root");
943 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12c-dph-pr-v2/64F7EAB0-CBEA-E111-B8AD-003048F117B6.root");
944 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12c-dph-pr-v2/0615B16F-ECDA-E111-A266-003048F117B6.root");
945 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12a-pho-j13-v1/385B77DE-58D0-E111-B925-001E67396928.root");
946 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12c-dph-pr-v2/068B257D-81D0-E111-A835-5404A63886B4.root");//369441614
947 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/5443DBCB-562C-E211-8042-00237DDBE0E2.root");//333643114
948 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/B2698ACF-843A-E211-8D9E-001D09F244DE.root");//89022540
949 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12b-dph-j13-v1/1E050D78-6DD4-E111-81D2-00266CFAE8D0.root");//223740859
950 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12b-dph-j13-v1/2CD64E47-79D3-E111-90C5-00A0D1EE8E60.root");//541603559
951 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12b-dph-j13-v1/147EF338-B2D3-E111-B1A6-00266CF256CC.root");//8983064
952 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12d-dph-pr-v1/8843BD9F-DC3E-E211-9E2F-003048678110.root");//876316897
953 //ana->AddFile("/mnt/hadoop/cmsprod/filefi/029/r12c-dph-pr-v2/CAA12077-F9F6-E111-8DF2-001D09F28D54.root");
954
955 //------------------------------------------------------------------------------------------------
956 // organize output
957 //------------------------------------------------------------------------------------------------
958 TString rootFile = TString(outputName);
959 rootFile += TString("_") + TString(dataset) + TString("_") + TString(skim);
960 if (TString(fileset) != TString(""))
961 rootFile += TString("_") + TString(fileset);
962 rootFile += TString(".root");
963 ana->SetOutputName(rootFile.Data());
964 //ana->SetCacheSize(64*1024*1024);
965 ana->SetCacheSize(0);
966
967 //------------------------------------------------------------------------------------------------
968 // Say what we are doing
969 //------------------------------------------------------------------------------------------------
970 printf("\n==== PARAMETER SUMMARY FOR THIS JOB ====\n");
971 printf("\n JSON file: %s\n and overlap cut: %f (%s)\n",jsonFile.Data(),overlapCut,overlap);
972 printf("\n Rely on Catalog: %s\n",catalogDir);
973 printf(" -> Book: %s Dataset: %s Skim: %s Fileset: %s <-\n",book,dataset,skim,fileset);
974 printf("\n Root output: %s\n\n",rootFile.Data());
975 printf("\n========================================\n");
976
977 //------------------------------------------------------------------------------------------------
978 // run the analysis after successful initialisation
979 //------------------------------------------------------------------------------------------------
980 ana->Run(!gROOT->IsBatch());
981
982 return;
983 }