ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/macros/examples/runHgg2013Moriond.C
Revision: 1.2
Committed: Sat Feb 23 14:50:08 2013 UTC (12 years, 2 months ago) by mingyang
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_029c, Mit_029b, Mit_029a, HEAD
Changes since 1.1: +26 -7 lines
Error occurred while calculating annotation data.
Log Message:
2013Moriond

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