ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/joshmt/TopTupleTools/eventLoop.h
Revision: 1.1
Committed: Tue Apr 27 11:42:39 2010 UTC (15 years ago) by joshmt
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
tools for looking at top group trees

File Contents

# User Rev Content
1 joshmt 1.1 //////////////////////////////////////////////////////////
2     // This class has been automatically generated on
3     // Fri Mar 19 14:02:26 2010 by ROOT version 5.22/00d
4     // from TChain makeTopologyNtuple/tree/
5     //////////////////////////////////////////////////////////
6    
7     #ifndef eventLoop_h
8     #define eventLoop_h
9    
10     #include <TROOT.h>
11     #include <TChain.h>
12     #include <TFile.h>
13    
14     #include <TH1D.h>
15    
16     #include <iostream>
17    
18     class eventLoop {
19     public :
20     TTree *fChain; //!pointer to the analyzed TTree or TChain
21     Int_t fCurrent; //!current Tree number in a TChain
22    
23     // Declaration of leaf types
24     Int_t numEle;
25     Float_t eleE[3]; //[numEle]
26     Float_t eleET[3]; //[numEle]
27     Float_t elePX[3]; //[numEle]
28     Float_t elePY[3]; //[numEle]
29     Float_t elePZ[3]; //[numEle]
30     Float_t elePhi[3]; //[numEle]
31     Float_t eleTheta[3]; //[numEle]
32     Float_t eleEta[3]; //[numEle]
33     Int_t eleCharge[3]; //[numEle]
34     Int_t eleIDQuality[3]; //[numEle]
35     Float_t eleTrackPt[3]; //[numEle]
36     Float_t eleTrackPhi[3]; //[numEle]
37     Float_t eleTrackEta[3]; //[numEle]
38     Float_t eleTrackChi2[3]; //[numEle]
39     Float_t eleTrackNDOF[3]; //[numEle]
40     Float_t eleTrackD0[3]; //[numEle]
41     Float_t eleBeamSpotCorrectedTrackD0[3]; //[numEle]
42     Float_t eleTrackDz[3]; //[numEle]
43     Float_t eleSCEta[3]; //[numEle]
44     Float_t eleSCE[3]; //[numEle]
45     Float_t eleSCPhi[3]; //[numEle]
46     Float_t eleSCSigmaEtaEta[3]; //[numEle]
47     Float_t eleSCSigmaIEtaIEta[3]; //[numEle]
48     Float_t eleSCE1x5[3]; //[numEle]
49     Float_t eleSCE5x5[3]; //[numEle]
50     Float_t eleSCE2x5max[3]; //[numEle]
51     Float_t eleTrackIso[3]; //[numEle]
52     Float_t eleEcalIso[3]; //[numEle]
53     Float_t eledr04EcalRecHitSumEt[3]; //[numEle]
54     Float_t eledr03EcalRecHitSumEt[3]; //[numEle]
55     Float_t eleHcalIso[3]; //[numEle]
56     Float_t eleEcalIsoDeposit[3]; //[numEle]
57     Float_t eleHcalIsoDeposit[3]; //[numEle]
58     Float_t eleComRelIso[3]; //[numEle]
59     Int_t elePhotonConversionTag[3]; //[numEle]
60     Float_t elePhotonConversionDist[3]; //[numEle]
61     Float_t elePhotonConversionDcot[3]; //[numEle]
62     Float_t eleTriggerMatch[3]; //[numEle]
63     Float_t eleJetOverlap[3]; //[numEle]
64     Float_t genEleET[3]; //[numEle]
65     Float_t genElePX[3]; //[numEle]
66     Float_t genElePY[3]; //[numEle]
67     Float_t genElePZ[3]; //[numEle]
68     Float_t genElePhi[3]; //[numEle]
69     Float_t genEleTheta[3]; //[numEle]
70     Float_t genEleEta[3]; //[numEle]
71     Int_t genEleCharge[3]; //[numEle]
72     Int_t numMuo;
73     Float_t muoE[3]; //[numMuo]
74     Float_t muoET[3]; //[numMuo]
75     Float_t muoPt[3]; //[numMuo]
76     Float_t muoPX[3]; //[numMuo]
77     Float_t muoPY[3]; //[numMuo]
78     Float_t muoPZ[3]; //[numMuo]
79     Float_t muoPhi[3]; //[numMuo]
80     Float_t muoTheta[3]; //[numMuo]
81     Float_t muoEta[3]; //[numMuo]
82     Int_t muoCharge[3]; //[numMuo]
83     Float_t muonChi2[3]; //[numMuo]
84     Float_t muonD0[3]; //[numMuo]
85     Float_t muonBeamSpotCorrectedD0[3]; //[numMuo]
86     Int_t muonTrackNHits[3]; //[numMuo]
87     Float_t muonNDOF[3]; //[numMuo]
88     Float_t muonTrackIso[3]; //[numMuo]
89     Float_t muonEcalIso[3]; //[numMuo]
90     Float_t muonHcalIso[3]; //[numMuo]
91     Float_t muonComRelIso[3]; //[numMuo]
92     Float_t genMuoET[3]; //[numMuo]
93     Float_t genMuoPX[3]; //[numMuo]
94     Float_t genMuoPY[3]; //[numMuo]
95     Float_t genMuoPZ[3]; //[numMuo]
96     Float_t genMuoPhi[3]; //[numMuo]
97     Float_t genMuoTheta[3]; //[numMuo]
98     Float_t genMuoEta[3]; //[numMuo]
99     Int_t genMuoCharge[3]; //[numMuo]
100     Int_t nT;
101     Int_t nThadronic;
102     Float_t T_hadronicMCTruthE[3]; //[nThadronic]
103     Float_t T_hadronicMCTruthEt[3]; //[nThadronic]
104     Float_t T_hadronicMCTruthPx[3]; //[nThadronic]
105     Float_t T_hadronicMCTruthPy[3]; //[nThadronic]
106     Float_t T_hadronicMCTruthPz[3]; //[nThadronic]
107     Int_t T_hadronicMCMotherIndex[3]; //[nThadronic]
108     Int_t nTleptonic;
109     Float_t T_leptonicMCTruthE[2]; //[nTleptonic]
110     Float_t T_leptonicMCTruthEt[2]; //[nTleptonic]
111     Float_t T_leptonicMCTruthPx[2]; //[nTleptonic]
112     Float_t T_leptonicMCTruthPy[2]; //[nTleptonic]
113     Float_t T_leptonicMCTruthPz[2]; //[nTleptonic]
114     Int_t T_leptonicMCMotherIndex[2]; //[nTleptonic]
115     Int_t nb;
116     Float_t bMCTruthE[4]; //[nb]
117     Float_t bMCTruthEt[4]; //[nb]
118     Float_t bMCTruthPx[4]; //[nb]
119     Float_t bMCTruthPy[4]; //[nb]
120     Float_t bMCTruthPz[4]; //[nb]
121     Int_t bMCTruthMother[4]; //[nb]
122     Int_t nWhadronic;
123     Float_t W_hadronicMCTruthE[4]; //[nWhadronic]
124     Float_t W_hadronicMCTruthEt[4]; //[nWhadronic]
125     Float_t W_hadronicMCTruthPx[4]; //[nWhadronic]
126     Float_t W_hadronicMCTruthPy[4]; //[nWhadronic]
127     Float_t W_hadronicMCTruthPz[4]; //[nWhadronic]
128     Int_t W_hadronicMCTruthPID[4]; //[nWhadronic]
129     Int_t W_hadronicMCTruthMother[4]; //[nWhadronic]
130     Int_t nWleptonic;
131     Float_t W_leptonicMCTruthE[3]; //[nWleptonic]
132     Float_t W_leptonicMCTruthEt[3]; //[nWleptonic]
133     Float_t W_leptonicMCTruthPx[3]; //[nWleptonic]
134     Float_t W_leptonicMCTruthPy[3]; //[nWleptonic]
135     Float_t W_leptonicMCTruthPz[3]; //[nWleptonic]
136     Int_t W_leptonicMCTruthPID[3]; //[nWleptonic]
137     Int_t W_leptonicMCTruthMother[3]; //[nWleptonic]
138     Int_t isElePlusJets;
139     Int_t VQQBosonAbsId;
140     Int_t numJet;
141     Float_t jetE[15]; //[numJet]
142     Float_t jetEt[15]; //[numJet]
143     Float_t jetPt[15]; //[numJet]
144     Float_t jetCorEt[15]; //[numJet]
145     Float_t jetEta[15]; //[numJet]
146     Float_t jetTheta[15]; //[numJet]
147     Float_t jetPhi[15]; //[numJet]
148     Float_t jetPx[15]; //[numJet]
149     Float_t jetPy[15]; //[numJet]
150     Float_t jetPz[15]; //[numJet]
151     Int_t jetNtracksInJet[15]; //[numJet]
152     Float_t jetJetCharge[15]; //[numJet]
153     Float_t jetMuEnergy[15]; //[numJet]
154     Float_t jetMuEnergyFraction[15]; //[numJet]
155     Float_t jetChargedMultiplicity[15]; //[numJet]
156     Float_t jetNeutralHadEnergy[15]; //[numJet]
157     Float_t jetEMEnergyInEB[15]; //[numJet]
158     Float_t jetEMEnergyInEE[15]; //[numJet]
159     Float_t jetEMEnergyFraction[15]; //[numJet]
160     Float_t jetEMEnergyInHF[15]; //[numJet]
161     Float_t jetHadEnergyInHB[15]; //[numJet]
162     Float_t jetHadEnergyInHE[15]; //[numJet]
163     Float_t jetHadEnergyInHF[15]; //[numJet]
164     Float_t jetHadEnergyInHO[15]; //[numJet]
165     Float_t jetBtagTrackCountHighPurity[15]; //[numJet]
166     Float_t jetBtagTrackCountHighEff[15]; //[numJet]
167     Float_t jetBtagProbability[15]; //[numJet]
168     Float_t jetBtagSoftElectron[15]; //[numJet]
169     Float_t jetBtagSoftMuon[15]; //[numJet]
170     Float_t jetBtagSoftMuonNoIP[15]; //[numJet]
171     Float_t jetBtagSoftMuonPtRel[15]; //[numJet]
172     Float_t jetBtagSoftMuonQuality[15]; //[numJet]
173     Float_t jetBtagSecondaryVertex[15]; //[numJet]
174     Float_t jetBtagSecondaryVertexNegative[15]; //[numJet]
175     Float_t jetBtagCombinedSVLL[15]; //[numJet]
176     Float_t jetBtagCombinedSVMVA[15]; //[numJet]
177     Float_t jetCorrFactor[15]; //[numJet]
178     Float_t jetN60[15]; //[numJet]
179     Float_t jetN90[15]; //[numJet]
180     Float_t jetNeutralEmEnergy[15]; //[numJet]
181     Float_t jetTriggered[15]; //[numJet]
182     Float_t jetSVPT[15]; //[numJet]
183     Float_t jetSVL2D[15]; //[numJet]
184     Float_t jetSVL2Dxy[15]; //[numJet]
185     Float_t jetSVL2DxyErr[15]; //[numJet]
186     Float_t jetSVL2DxySig[15]; //[numJet]
187     Float_t jetSVL3D[15]; //[numJet]
188     Float_t jetSVL3DErr[15]; //[numJet]
189     Float_t jetSVL3DSig[15]; //[numJet]
190     Float_t jetSVMass[15]; //[numJet]
191     Int_t jetSVNtracks[15]; //[numJet]
192     Float_t genJetET[15]; //[numJet]
193     Float_t genJetPX[15]; //[numJet]
194     Float_t genJetPY[15]; //[numJet]
195     Float_t genJetPZ[15]; //[numJet]
196     Float_t genJetPhi[15]; //[numJet]
197     Float_t genJetTheta[15]; //[numJet]
198     Float_t genJetEta[15]; //[numJet]
199     Int_t genJetPID[15]; //[numJet]
200     Int_t jetPID[15]; //[numJet]
201     Float_t jetClosestBPartonDeltaR[15]; //[numJet]
202     Float_t jetClosestCPartonDeltaR[15]; //[numJet]
203     Float_t btagParamDiscCut_MISTAGSSVM;
204     Float_t btagParamDiscCut_PTRELSSVM;
205     Float_t btagParamDiscCut_PTRELTCHEL;
206     Float_t btagParamDiscCut_PTRELTCHEM;
207     Float_t btagParamDiscCut_PTRELTCHET;
208     Float_t btagParamDiscCut_PTRELTCHPL;
209     Float_t btagParamDiscCut_PTRELTCHPM;
210     Float_t btagParamDiscCut_PTRELTCHPT;
211     Float_t btagParamDiscCut_SYSTEM8SSVM;
212     Float_t jetBtagParam_MISTAGSSVM_BTAGLEFF[15]; //[numJet]
213     Float_t jetBtagParam_MISTAGSSVM_BTAGLERR[15]; //[numJet]
214     Float_t jetBtagParam_MISTAGSSVM_BTAGLEFFCORR[15]; //[numJet]
215     Float_t jetBtagParam_MISTAGSSVM_BTAGLERRCORR[15]; //[numJet]
216     Float_t jetBtagParam_PTRELSSVM_BTAGBEFFCORR[15]; //[numJet]
217     Float_t jetBtagParam_PTRELSSVM_BTAGBERRCORR[15]; //[numJet]
218     Float_t jetBtagParam_SYSTEM8SSVM_BTAGBEFF[15]; //[numJet]
219     Float_t jetBtagParam_SYSTEM8SSVM_BTAGBERR[15]; //[numJet]
220     Float_t jetBtagParam_PTRELTCHEL_BTAGBEFFCORR[15]; //[numJet]
221     Float_t jetBtagParam_PTRELTCHEM_BTAGBEFFCORR[15]; //[numJet]
222     Float_t jetBtagParam_PTRELTCHET_BTAGBEFFCORR[15]; //[numJet]
223     Float_t jetBtagParam_PTRELTCHPL_BTAGBEFFCORR[15]; //[numJet]
224     Float_t jetBtagParam_PTRELTCHPM_BTAGBEFFCORR[15]; //[numJet]
225     Float_t jetBtagParam_PTRELTCHPT_BTAGBEFFCORR[15]; //[numJet]
226     Int_t numGeneralTracks;
227     Float_t generalTracksPt[456]; //[numGeneralTracks]
228     Float_t generalTracksEta[456]; //[numGeneralTracks]
229     Float_t generalTracksTheta[456]; //[numGeneralTracks]
230     Float_t generalTracksBeamSpotCorrectedD0[456]; //[numGeneralTracks]
231     Float_t generalTracksPhi[456]; //[numGeneralTracks]
232     Int_t generalTracksCharge[456]; //[numGeneralTracks]
233     Int_t processId;
234     Float_t processPtHat;
235     Float_t processMCWeight;
236     Float_t beamSpotX;
237     Float_t beamSpotY;
238     Float_t beamSpotZ;
239     Float_t topo_sphericity;
240     Float_t topo_aplanarity;
241     Float_t topo_sphericity_e;
242     Float_t topo_aplanarity_e;
243     Float_t topo_ht;
244     Float_t topo_ht_e;
245     Float_t topo_sqrts;
246     Float_t topo_sqrts_e;
247     Float_t topo_oblateness;
248     Float_t metEt;
249     Float_t metPhi;
250     Float_t metPt;
251     Float_t metPx;
252     Float_t metPy;
253     Float_t genMetEt;
254     Float_t genMetPhi;
255     Float_t genMetPt;
256     Float_t genMetPx;
257     Float_t genMetPy;
258     Float_t metMaxEtEM;
259     Float_t metMaxEtHad;
260     Float_t metEtFracHad;
261     Float_t metEtFracEM;
262     Float_t metHadEtHB;
263     Float_t metHadEtHO;
264     Float_t metHadEtHF;
265     Float_t metHadEtHE;
266     Float_t metEmEtHF;
267     Float_t metEmEtEE;
268     Float_t metEmEtEB;
269     Float_t metSignificance;
270     Float_t metScalarEt;
271     Float_t metEtUncorrected;
272     Float_t metPhiUncorrected;
273     Float_t mhtPt;
274     Float_t mhtPy;
275     Float_t mhtPx;
276     Float_t mhtPhi;
277     Float_t mhtSumEt;
278     Float_t mhtSignif;
279     Int_t nZCandidates;
280     Float_t ZCandidates[3]; //[nZCandidates]
281     Int_t nTriggerBits;
282     Int_t TriggerBits[79]; //[nTriggerBits]
283     Int_t HLT_Ele15_LW_L1R;
284     Int_t flavorhistory;
285     Int_t myProcess;
286     Float_t genParEta[2];
287     Float_t genParPhi[2];
288     Float_t genParTheta[2];
289     Float_t genParE[2];
290     Float_t genParEt[2];
291     Float_t genParP[2];
292     Float_t genParPt[2];
293     Int_t genParId[2];
294     Int_t genParStat[2];
295     Int_t ndaughters[2];
296     Int_t genParCharge[2];
297     Float_t genEta[2][2];
298     Float_t genPhi[2][2];
299     Float_t genTheta[2][2];
300     Float_t genE[2][2];
301     Float_t genEt[2][2];
302     Float_t genP[2][2];
303     Float_t genPt[2][2];
304     Int_t genId[2][2];
305     Int_t genStat[2][2];
306     Int_t genCharge[2][2];
307     Int_t numTau;
308     Float_t tauE[5]; //[numTau]
309     Float_t tauPt[5]; //[numTau]
310     Float_t tauPhi[5]; //[numTau]
311     Float_t tauEta[5]; //[numTau]
312     Int_t numPhoton;
313     Float_t photonE[13]; //[numPhoton]
314     Float_t photonPt[13]; //[numPhoton]
315     Float_t photonPhi[13]; //[numPhoton]
316     Float_t photonEta[13]; //[numPhoton]
317     Int_t eventRun;
318     Int_t eventNum;
319     Float_t eventLumiblock;
320    
321     // List of branches
322     TBranch *b_numEle; //!
323     TBranch *b_eleE; //!
324     TBranch *b_eleET; //!
325     TBranch *b_elePX; //!
326     TBranch *b_elePY; //!
327     TBranch *b_elePZ; //!
328     TBranch *b_elePhi; //!
329     TBranch *b_eleTheta; //!
330     TBranch *b_eleEta; //!
331     TBranch *b_eleCharge; //!
332     TBranch *b_eleIDQuality; //!
333     TBranch *b_eleTrackPt; //!
334     TBranch *b_eleTrackPhi; //!
335     TBranch *b_eleTrackEta; //!
336     TBranch *b_eleTrackChi2; //!
337     TBranch *b_eleTrackNDOF; //!
338     TBranch *b_eleTrackD0; //!
339     TBranch *b_eleBeamSpotCorrectedTrackD0; //!
340     TBranch *b_eleTrackDz; //!
341     TBranch *b_eleSCEta; //!
342     TBranch *b_eleSCE; //!
343     TBranch *b_eleSCPhi; //!
344     TBranch *b_eleSCSigmaEtaEta; //!
345     TBranch *b_eleSCSigmaIEtaIEta; //!
346     TBranch *b_eleSCE1x5; //!
347     TBranch *b_eleSCE5x5; //!
348     TBranch *b_eleSCE2x5max; //!
349     TBranch *b_eleTrackIso; //!
350     TBranch *b_eleEcalIso; //!
351     TBranch *b_eledr04EcalRecHitSumEt; //!
352     TBranch *b_eledr03EcalRecHitSumEt; //!
353     TBranch *b_eleHcalIso; //!
354     TBranch *b_eleEcalIsoDeposit; //!
355     TBranch *b_eleHcalIsoDeposit; //!
356     TBranch *b_eleComRelIso; //!
357     TBranch *b_elePhotonConversionTag; //!
358     TBranch *b_elePhotonConversionDist; //!
359     TBranch *b_elePhotonConversionDcot; //!
360     TBranch *b_eleTriggerMatch; //!
361     TBranch *b_eleJetOverlap; //!
362     TBranch *b_genEleET; //!
363     TBranch *b_genElePX; //!
364     TBranch *b_genElePY; //!
365     TBranch *b_genElePZ; //!
366     TBranch *b_genElePhi; //!
367     TBranch *b_genEleTheta; //!
368     TBranch *b_genEleEta; //!
369     TBranch *b_genEleCharge; //!
370     TBranch *b_numMuo; //!
371     TBranch *b_muoE; //!
372     TBranch *b_muoET; //!
373     TBranch *b_muoPt; //!
374     TBranch *b_muoPX; //!
375     TBranch *b_muoPY; //!
376     TBranch *b_muoPZ; //!
377     TBranch *b_muoPhi; //!
378     TBranch *b_muoTheta; //!
379     TBranch *b_muoEta; //!
380     TBranch *b_muoCharge; //!
381     TBranch *b_muonChi2; //!
382     TBranch *b_muonD0; //!
383     TBranch *b_muonBeamSpotCorrectedD0; //!
384     TBranch *b_muonTrackNHits; //!
385     TBranch *b_muonNDOF; //!
386     TBranch *b_muonTrackIso; //!
387     TBranch *b_muonEcalIso; //!
388     TBranch *b_muonHcalIso; //!
389     TBranch *b_muonComRelIso; //!
390     TBranch *b_genMuoET; //!
391     TBranch *b_genMuoPX; //!
392     TBranch *b_genMuoPY; //!
393     TBranch *b_genMuoPZ; //!
394     TBranch *b_genMuoPhi; //!
395     TBranch *b_genMuoTheta; //!
396     TBranch *b_genMuoEta; //!
397     TBranch *b_genMuoCharge; //!
398     TBranch *b_nT; //!
399     TBranch *b_nThadronic; //!
400     TBranch *b_T_hadronicMCTruthE; //!
401     TBranch *b_T_hadronicMCTruthEt; //!
402     TBranch *b_T_hadronicMCTruthPx; //!
403     TBranch *b_T_hadronicMCTruthPy; //!
404     TBranch *b_T_hadronicMCTruthPz; //!
405     TBranch *b_T_hadronicMCMotherIndex; //!
406     TBranch *b_nTleptonic; //!
407     TBranch *b_T_leptonicMCTruthE; //!
408     TBranch *b_T_leptonicMCTruthEt; //!
409     TBranch *b_T_leptonicMCTruthPx; //!
410     TBranch *b_T_leptonicMCTruthPy; //!
411     TBranch *b_T_leptonicMCTruthPz; //!
412     TBranch *b_T_leptonicMCMotherIndex; //!
413     TBranch *b_nb; //!
414     TBranch *b_bMCTruthE; //!
415     TBranch *b_bMCTruthEt; //!
416     TBranch *b_bMCTruthPx; //!
417     TBranch *b_bMCTruthPy; //!
418     TBranch *b_bMCTruthPz; //!
419     TBranch *b_bMCTruthMother; //!
420     TBranch *b_nWhadronic; //!
421     TBranch *b_W_hadronicMCTruthE; //!
422     TBranch *b_W_hadronicMCTruthEt; //!
423     TBranch *b_W_hadronicMCTruthPx; //!
424     TBranch *b_W_hadronicMCTruthPy; //!
425     TBranch *b_W_hadronicMCTruthPz; //!
426     TBranch *b_W_hadronicMCTruthPID; //!
427     TBranch *b_W_hadronicMCTruthMother; //!
428     TBranch *b_nWleptonic; //!
429     TBranch *b_W_leptonicMCTruthE; //!
430     TBranch *b_W_leptonicMCTruthEt; //!
431     TBranch *b_W_leptonicMCTruthPx; //!
432     TBranch *b_W_leptonicMCTruthPy; //!
433     TBranch *b_W_leptonicMCTruthPz; //!
434     TBranch *b_W_leptonicMCTruthPID; //!
435     TBranch *b_W_leptonicMCTruthMother; //!
436     TBranch *b_isElePlusJets; //!
437     TBranch *b_VQQBosonAbsId; //!
438     TBranch *b_numJet; //!
439     TBranch *b_jetE; //!
440     TBranch *b_jetEt; //!
441     TBranch *b_jetPt; //!
442     TBranch *b_jetCorEt; //!
443     TBranch *b_jetEta; //!
444     TBranch *b_jetTheta; //!
445     TBranch *b_jetPhi; //!
446     TBranch *b_jetPx; //!
447     TBranch *b_jetPy; //!
448     TBranch *b_jetPz; //!
449     TBranch *b_jetNtracksInJet; //!
450     TBranch *b_jetJetCharge; //!
451     TBranch *b_jetMuEnergy; //!
452     TBranch *b_jetMuEnergyFraction; //!
453     TBranch *b_jetChargedMultiplicity; //!
454     TBranch *b_jetNeutralHadEnergy; //!
455     TBranch *b_jetEMEnergyInEB; //!
456     TBranch *b_jetEMEnergyInEE; //!
457     TBranch *b_jetEMEnergyFraction; //!
458     TBranch *b_jetEMEnergyInHF; //!
459     TBranch *b_jetHadEnergyInHB; //!
460     TBranch *b_jetHadEnergyInHE; //!
461     TBranch *b_jetHadEnergyInHF; //!
462     TBranch *b_jetHadEnergyInHO; //!
463     TBranch *b_jetBtagTrackCountHighPurity; //!
464     TBranch *b_jetBtagTrackCountHighEff; //!
465     TBranch *b_jetBtagProbability; //!
466     TBranch *b_jetBtagSoftElectron; //!
467     TBranch *b_jetBtagSoftMuon; //!
468     TBranch *b_jetBtagSoftMuonNoIP; //!
469     TBranch *b_jetBtagSoftMuonPtRel; //!
470     TBranch *b_jetBtagSoftMuonQuality; //!
471     TBranch *b_jetBtagSecondaryVertex; //!
472     TBranch *b_jetBtagSecondaryVertexNegative; //!
473     TBranch *b_jetBtagCombinedSVLL; //!
474     TBranch *b_jetBtagCombinedSVMVA; //!
475     TBranch *b_jetCorrFactor; //!
476     TBranch *b_jetN60; //!
477     TBranch *b_jetN90; //!
478     TBranch *b_jetNeutralEmEnergy; //!
479     TBranch *b_jetTriggered; //!
480     TBranch *b_jetSVPT; //!
481     TBranch *b_jetSVL2D; //!
482     TBranch *b_jetSVL2Dxy; //!
483     TBranch *b_jetSVL2DxyErr; //!
484     TBranch *b_jetSVL2DxySig; //!
485     TBranch *b_jetSVL3D; //!
486     TBranch *b_jetSVL3DErr; //!
487     TBranch *b_jetSVL3DSig; //!
488     TBranch *b_jetSVMass; //!
489     TBranch *b_jetSVNtracks; //!
490     TBranch *b_genJetET; //!
491     TBranch *b_genJetPX; //!
492     TBranch *b_genJetPY; //!
493     TBranch *b_genJetPZ; //!
494     TBranch *b_genJetPhi; //!
495     TBranch *b_genJetTheta; //!
496     TBranch *b_genJetEta; //!
497     TBranch *b_genJetPID; //!
498     TBranch *b_jetPID; //!
499     TBranch *b_jetClosestBPartonDeltaR; //!
500     TBranch *b_jetClosestCPartonDeltaR; //!
501     TBranch *b_btagParamDiscCut_MISTAGSSVM; //!
502     TBranch *b_btagParamDiscCut_PTRELSSVM; //!
503     TBranch *b_btagParamDiscCut_PTRELTCHEL; //!
504     TBranch *b_btagParamDiscCut_PTRELTCHEM; //!
505     TBranch *b_btagParamDiscCut_PTRELTCHET; //!
506     TBranch *b_btagParamDiscCut_PTRELTCHPL; //!
507     TBranch *b_btagParamDiscCut_PTRELTCHPM; //!
508     TBranch *b_btagParamDiscCut_PTRELTCHPT; //!
509     TBranch *b_btagParamDiscCut_SYSTEM8SSVM; //!
510     TBranch *b_jetBtagParam_MISTAGSSVM_BTAGLEFF; //!
511     TBranch *b_jetBtagParam_MISTAGSSVM_BTAGLERR; //!
512     TBranch *b_jetBtagParam_MISTAGSSVM_BTAGLEFFCORR; //!
513     TBranch *b_jetBtagParam_MISTAGSSVM_BTAGLERRCORR; //!
514     TBranch *b_jetBtagParam_PTRELSSVM_BTAGBEFFCORR; //!
515     TBranch *b_jetBtagParam_PTRELSSVM_BTAGBERRCORR; //!
516     TBranch *b_jetBtagParam_SYSTEM8SSVM_BTAGBEFF; //!
517     TBranch *b_jetBtagParam_SYSTEM8SSVM_BTAGBERR; //!
518     TBranch *b_jetBtagParam_PTRELTCHEL_BTAGBEFFCORR; //!
519     TBranch *b_jetBtagParam_PTRELTCHEM_BTAGBEFFCORR; //!
520     TBranch *b_jetBtagParam_PTRELTCHET_BTAGBEFFCORR; //!
521     TBranch *b_jetBtagParam_PTRELTCHPL_BTAGBEFFCORR; //!
522     TBranch *b_jetBtagParam_PTRELTCHPM_BTAGBEFFCORR; //!
523     TBranch *b_jetBtagParam_PTRELTCHPT_BTAGBEFFCORR; //!
524     TBranch *b_numGeneralTracks; //!
525     TBranch *b_generalTracksPt; //!
526     TBranch *b_generalTracksEta; //!
527     TBranch *b_generalTracksTheta; //!
528     TBranch *b_generalTracksBeamSpotCorrectedD0; //!
529     TBranch *b_generalTracksPhi; //!
530     TBranch *b_generalTracksCharge; //!
531     TBranch *b_processId; //!
532     TBranch *b_processPtHat; //!
533     TBranch *b_processMCWeight; //!
534     TBranch *b_beamSpotX; //!
535     TBranch *b_beamSpotY; //!
536     TBranch *b_beamSpotZ; //!
537     TBranch *b_topo_sphericity; //!
538     TBranch *b_topo_aplanarity; //!
539     TBranch *b_topo_sphericity_e; //!
540     TBranch *b_topo_aplanarity_e; //!
541     TBranch *b_topo_ht; //!
542     TBranch *b_top_ht_e; //!
543     TBranch *b_topo_sqrts; //!
544     TBranch *b_top_sqrts_e; //!
545     TBranch *b_topo_oblateness; //!
546     TBranch *b_metEt; //!
547     TBranch *b_metPhi; //!
548     TBranch *b_metPt; //!
549     TBranch *b_metPx; //!
550     TBranch *b_metPy; //!
551     TBranch *b_genMetEt; //!
552     TBranch *b_genMetPhi; //!
553     TBranch *b_genMetPt; //!
554     TBranch *b_genMetPx; //!
555     TBranch *b_genMetPy; //!
556     TBranch *b_metMaxEtEM; //!
557     TBranch *b_metMaxEtHad; //!
558     TBranch *b_metEtFracHad; //!
559     TBranch *b_metEtFracEM; //!
560     TBranch *b_metHadEtHB; //!
561     TBranch *b_metHadEtHO; //!
562     TBranch *b_metHadEtHF; //!
563     TBranch *b_metHadEtHE; //!
564     TBranch *b_metEmEtHF; //!
565     TBranch *b_metEmEtEE; //!
566     TBranch *b_metEmEtEB; //!
567     TBranch *b_metSignificance; //!
568     TBranch *b_metScalarEt; //!
569     TBranch *b_metEtUncorrected; //!
570     TBranch *b_metPhiUncorrected; //!
571     TBranch *b_mhtPt; //!
572     TBranch *b_mhtPy; //!
573     TBranch *b_mhtPx; //!
574     TBranch *b_mhtPhi; //!
575     TBranch *b_mhtSumEt; //!
576     TBranch *b_mhtSignif; //!
577     TBranch *b_nZCandidates; //!
578     TBranch *b_ZCandidates; //!
579     TBranch *b_nTriggerBits; //!
580     TBranch *b_TriggerBits; //!
581     TBranch *b_HLT_Ele15_LW_L1R; //!
582     TBranch *b_flavorhistory; //!
583     TBranch *b_myProcess; //!
584     TBranch *b_genParEta; //!
585     TBranch *b_genParPhi; //!
586     TBranch *b_genParTheta; //!
587     TBranch *b_genParE; //!
588     TBranch *b_genParEt; //!
589     TBranch *b_genParP; //!
590     TBranch *b_genParPt; //!
591     TBranch *b_genParId; //!
592     TBranch *b_genParStat; //!
593     TBranch *b_ndaughters; //!
594     TBranch *b_genParCharge; //!
595     TBranch *b_genEta; //!
596     TBranch *b_genPhi; //!
597     TBranch *b_genTheta; //!
598     TBranch *b_genE; //!
599     TBranch *b_genEt; //!
600     TBranch *b_genP; //!
601     TBranch *b_genPt; //!
602     TBranch *b_genId; //!
603     TBranch *b_genStat; //!
604     TBranch *b_genCharge; //!
605     TBranch *b_numTau; //!
606     TBranch *b_tauE; //!
607     TBranch *b_tauPt; //!
608     TBranch *b_tauPhi; //!
609     TBranch *b_tauEta; //!
610     TBranch *b_numPhoton; //!
611     TBranch *b_photonE; //!
612     TBranch *b_photonPt; //!
613     TBranch *b_photonPhi; //!
614     TBranch *b_photonEta; //!
615     TBranch *b_eventRun; //!
616     TBranch *b_eventNum; //!
617     TBranch *b_eventLumiblock; //!
618    
619     //for changing configuration
620     bool writeASCII_;
621    
622     //variables for defining cuts!
623     UInt_t minGoodJets_;
624     UInt_t goodBJets_;
625     Float_t minJetPt_Good_;
626     Float_t maxJetEta_Good_;
627    
628     eventLoop(TTree *tree=0);
629     virtual ~eventLoop();
630     virtual Int_t Cut();
631     virtual Int_t GetEntry(Long64_t entry);
632     virtual Long64_t LoadTree(Long64_t entry);
633     virtual void Init(TTree *tree);
634     virtual void Loop(TString outfile,TString weightfile="",bool isSignal=false);
635     virtual Bool_t Notify();
636     virtual void Show(Long64_t entry = -1);
637    
638     void writeASCII(bool writeASCII) {writeASCII_=writeASCII;}
639     Bool_t isJetGood(UInt_t index) ;
640     UInt_t nGoodJets();
641     UInt_t nGoodElectrons();
642     UInt_t nGoodMuons();
643     double getDeltaPhi(double phi1,double phi2);
644     };
645    
646     #endif
647    
648     #ifdef eventLoop_cxx
649     eventLoop::eventLoop(TTree *tree) :
650     writeASCII_(false),
651     //define default values of selection cuts
652     minGoodJets_(3),
653     goodBJets_(0),
654     minJetPt_Good_(50),
655     maxJetEta_Good_(2.4)
656     {
657     // if parameter tree is not specified (or zero), connect the file
658     // used to generate this class and read the Tree.
659     if (tree == 0) {
660    
661     #ifdef SINGLE_TREE
662     // The following code should be used if you want this class to access
663     // a single tree instead of a chain
664     TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Memory Directory");
665     if (!f) {
666     f = new TFile("Memory Directory");
667     f->cd("Rint:/");
668     }
669     tree = (TTree*)gDirectory->Get("makeTopologyNtuple/tree");
670    
671     #else // SINGLE_TREE
672    
673     // The following code should be used if you want this class to access a chain
674     // of trees.
675     TChain * chain = new TChain("makeTopologyNtuple/tree","");
676     chain->Add("data/Ntuple_LM13-7TeV_1.root/makeTopologyNtuple/tree");
677     chain->Add("data/Ntuple_LM13-7TeV_2.root/makeTopologyNtuple/tree");
678     tree = chain;
679     #endif // SINGLE_TREE
680    
681     }
682    
683     Init(tree);
684     }
685    
686     eventLoop::~eventLoop()
687     {
688     if (!fChain) return;
689     delete fChain->GetCurrentFile();
690     }
691    
692     Int_t eventLoop::GetEntry(Long64_t entry)
693     {
694     // Read contents of entry.
695     if (!fChain) return 0;
696     return fChain->GetEntry(entry);
697     }
698     Long64_t eventLoop::LoadTree(Long64_t entry)
699     {
700     // Set the environment to read one entry
701     if (!fChain) return -5;
702     Long64_t centry = fChain->LoadTree(entry);
703     if (centry < 0) return centry;
704     if (!fChain->InheritsFrom(TChain::Class())) return centry;
705     TChain *chain = (TChain*)fChain;
706     if (chain->GetTreeNumber() != fCurrent) {
707     fCurrent = chain->GetTreeNumber();
708     Notify();
709     }
710     return centry;
711     }
712    
713     void eventLoop::Init(TTree *tree)
714     {
715     // The Init() function is called when the selector needs to initialize
716     // a new tree or chain. Typically here the branch addresses and branch
717     // pointers of the tree will be set.
718     // It is normally not necessary to make changes to the generated
719     // code, but the routine can be extended by the user if needed.
720     // Init() will be called many times when running on PROOF
721     // (once per file to be processed).
722    
723     // Set branch addresses and branch pointers
724     if (!tree) return;
725     fChain = tree;
726     fCurrent = -1;
727     fChain->SetMakeClass(1);
728    
729     fChain->SetBranchAddress("numEle", &numEle, &b_numEle);
730     fChain->SetBranchAddress("eleE", eleE, &b_eleE);
731     fChain->SetBranchAddress("eleET", eleET, &b_eleET);
732     fChain->SetBranchAddress("elePX", elePX, &b_elePX);
733     fChain->SetBranchAddress("elePY", elePY, &b_elePY);
734     fChain->SetBranchAddress("elePZ", elePZ, &b_elePZ);
735     fChain->SetBranchAddress("elePhi", elePhi, &b_elePhi);
736     fChain->SetBranchAddress("eleTheta", eleTheta, &b_eleTheta);
737     fChain->SetBranchAddress("eleEta", eleEta, &b_eleEta);
738     fChain->SetBranchAddress("eleCharge", eleCharge, &b_eleCharge);
739     fChain->SetBranchAddress("eleIDQuality", eleIDQuality, &b_eleIDQuality);
740     fChain->SetBranchAddress("eleTrackPt", eleTrackPt, &b_eleTrackPt);
741     fChain->SetBranchAddress("eleTrackPhi", eleTrackPhi, &b_eleTrackPhi);
742     fChain->SetBranchAddress("eleTrackEta", eleTrackEta, &b_eleTrackEta);
743     fChain->SetBranchAddress("eleTrackChi2", eleTrackChi2, &b_eleTrackChi2);
744     fChain->SetBranchAddress("eleTrackNDOF", eleTrackNDOF, &b_eleTrackNDOF);
745     fChain->SetBranchAddress("eleTrackD0", eleTrackD0, &b_eleTrackD0);
746     fChain->SetBranchAddress("eleBeamSpotCorrectedTrackD0", eleBeamSpotCorrectedTrackD0, &b_eleBeamSpotCorrectedTrackD0);
747     fChain->SetBranchAddress("eleTrackDz", eleTrackDz, &b_eleTrackDz);
748     fChain->SetBranchAddress("eleSCEta", eleSCEta, &b_eleSCEta);
749     fChain->SetBranchAddress("eleSCE", eleSCE, &b_eleSCE);
750     fChain->SetBranchAddress("eleSCPhi", eleSCPhi, &b_eleSCPhi);
751     fChain->SetBranchAddress("eleSCSigmaEtaEta", eleSCSigmaEtaEta, &b_eleSCSigmaEtaEta);
752     fChain->SetBranchAddress("eleSCSigmaIEtaIEta", eleSCSigmaIEtaIEta, &b_eleSCSigmaIEtaIEta);
753     fChain->SetBranchAddress("eleSCE1x5", eleSCE1x5, &b_eleSCE1x5);
754     fChain->SetBranchAddress("eleSCE5x5", eleSCE5x5, &b_eleSCE5x5);
755     fChain->SetBranchAddress("eleSCE2x5max", eleSCE2x5max, &b_eleSCE2x5max);
756     fChain->SetBranchAddress("eleTrackIso", eleTrackIso, &b_eleTrackIso);
757     fChain->SetBranchAddress("eleEcalIso", eleEcalIso, &b_eleEcalIso);
758     fChain->SetBranchAddress("eledr04EcalRecHitSumEt", eledr04EcalRecHitSumEt, &b_eledr04EcalRecHitSumEt);
759     fChain->SetBranchAddress("eledr03EcalRecHitSumEt", eledr03EcalRecHitSumEt, &b_eledr03EcalRecHitSumEt);
760     fChain->SetBranchAddress("eleHcalIso", eleHcalIso, &b_eleHcalIso);
761     fChain->SetBranchAddress("eleEcalIsoDeposit", eleEcalIsoDeposit, &b_eleEcalIsoDeposit);
762     fChain->SetBranchAddress("eleHcalIsoDeposit", eleHcalIsoDeposit, &b_eleHcalIsoDeposit);
763     fChain->SetBranchAddress("eleComRelIso", eleComRelIso, &b_eleComRelIso);
764     fChain->SetBranchAddress("elePhotonConversionTag", elePhotonConversionTag, &b_elePhotonConversionTag);
765     fChain->SetBranchAddress("elePhotonConversionDist", elePhotonConversionDist, &b_elePhotonConversionDist);
766     fChain->SetBranchAddress("elePhotonConversionDcot", elePhotonConversionDcot, &b_elePhotonConversionDcot);
767     fChain->SetBranchAddress("eleTriggerMatch", eleTriggerMatch, &b_eleTriggerMatch);
768     fChain->SetBranchAddress("eleJetOverlap", eleJetOverlap, &b_eleJetOverlap);
769     fChain->SetBranchAddress("genEleET", genEleET, &b_genEleET);
770     fChain->SetBranchAddress("genElePX", genElePX, &b_genElePX);
771     fChain->SetBranchAddress("genElePY", genElePY, &b_genElePY);
772     fChain->SetBranchAddress("genElePZ", genElePZ, &b_genElePZ);
773     fChain->SetBranchAddress("genElePhi", genElePhi, &b_genElePhi);
774     fChain->SetBranchAddress("genEleTheta", genEleTheta, &b_genEleTheta);
775     fChain->SetBranchAddress("genEleEta", genEleEta, &b_genEleEta);
776     fChain->SetBranchAddress("genEleCharge", genEleCharge, &b_genEleCharge);
777     fChain->SetBranchAddress("numMuo", &numMuo, &b_numMuo);
778     fChain->SetBranchAddress("muoE", muoE, &b_muoE);
779     fChain->SetBranchAddress("muoET", muoET, &b_muoET);
780     fChain->SetBranchAddress("muoPt", muoPt, &b_muoPt);
781     fChain->SetBranchAddress("muoPX", muoPX, &b_muoPX);
782     fChain->SetBranchAddress("muoPY", muoPY, &b_muoPY);
783     fChain->SetBranchAddress("muoPZ", muoPZ, &b_muoPZ);
784     fChain->SetBranchAddress("muoPhi", muoPhi, &b_muoPhi);
785     fChain->SetBranchAddress("muoTheta", muoTheta, &b_muoTheta);
786     fChain->SetBranchAddress("muoEta", muoEta, &b_muoEta);
787     fChain->SetBranchAddress("muoCharge", muoCharge, &b_muoCharge);
788     fChain->SetBranchAddress("muonChi2", muonChi2, &b_muonChi2);
789     fChain->SetBranchAddress("muonD0", muonD0, &b_muonD0);
790     fChain->SetBranchAddress("muonBeamSpotCorrectedD0", muonBeamSpotCorrectedD0, &b_muonBeamSpotCorrectedD0);
791     fChain->SetBranchAddress("muonTrackNHits", muonTrackNHits, &b_muonTrackNHits);
792     fChain->SetBranchAddress("muonNDOF", muonNDOF, &b_muonNDOF);
793     fChain->SetBranchAddress("muonTrackIso", muonTrackIso, &b_muonTrackIso);
794     fChain->SetBranchAddress("muonEcalIso", muonEcalIso, &b_muonEcalIso);
795     fChain->SetBranchAddress("muonHcalIso", muonHcalIso, &b_muonHcalIso);
796     fChain->SetBranchAddress("muonComRelIso", muonComRelIso, &b_muonComRelIso);
797     fChain->SetBranchAddress("genMuoET", genMuoET, &b_genMuoET);
798     fChain->SetBranchAddress("genMuoPX", genMuoPX, &b_genMuoPX);
799     fChain->SetBranchAddress("genMuoPY", genMuoPY, &b_genMuoPY);
800     fChain->SetBranchAddress("genMuoPZ", genMuoPZ, &b_genMuoPZ);
801     fChain->SetBranchAddress("genMuoPhi", genMuoPhi, &b_genMuoPhi);
802     fChain->SetBranchAddress("genMuoTheta", genMuoTheta, &b_genMuoTheta);
803     fChain->SetBranchAddress("genMuoEta", genMuoEta, &b_genMuoEta);
804     fChain->SetBranchAddress("genMuoCharge", genMuoCharge, &b_genMuoCharge);
805     fChain->SetBranchAddress("nT", &nT, &b_nT);
806     fChain->SetBranchAddress("nThadronic", &nThadronic, &b_nThadronic);
807     fChain->SetBranchAddress("T_hadronicMCTruthE", T_hadronicMCTruthE, &b_T_hadronicMCTruthE);
808     fChain->SetBranchAddress("T_hadronicMCTruthEt", T_hadronicMCTruthEt, &b_T_hadronicMCTruthEt);
809     fChain->SetBranchAddress("T_hadronicMCTruthPx", T_hadronicMCTruthPx, &b_T_hadronicMCTruthPx);
810     fChain->SetBranchAddress("T_hadronicMCTruthPy", T_hadronicMCTruthPy, &b_T_hadronicMCTruthPy);
811     fChain->SetBranchAddress("T_hadronicMCTruthPz", T_hadronicMCTruthPz, &b_T_hadronicMCTruthPz);
812     fChain->SetBranchAddress("T_hadronicMCMotherIndex", T_hadronicMCMotherIndex, &b_T_hadronicMCMotherIndex);
813     fChain->SetBranchAddress("nTleptonic", &nTleptonic, &b_nTleptonic);
814     fChain->SetBranchAddress("T_leptonicMCTruthE", T_leptonicMCTruthE, &b_T_leptonicMCTruthE);
815     fChain->SetBranchAddress("T_leptonicMCTruthEt", T_leptonicMCTruthEt, &b_T_leptonicMCTruthEt);
816     fChain->SetBranchAddress("T_leptonicMCTruthPx", T_leptonicMCTruthPx, &b_T_leptonicMCTruthPx);
817     fChain->SetBranchAddress("T_leptonicMCTruthPy", T_leptonicMCTruthPy, &b_T_leptonicMCTruthPy);
818     fChain->SetBranchAddress("T_leptonicMCTruthPz", T_leptonicMCTruthPz, &b_T_leptonicMCTruthPz);
819     fChain->SetBranchAddress("T_leptonicMCMotherIndex", T_leptonicMCMotherIndex, &b_T_leptonicMCMotherIndex);
820     fChain->SetBranchAddress("nb", &nb, &b_nb);
821     fChain->SetBranchAddress("bMCTruthE", bMCTruthE, &b_bMCTruthE);
822     fChain->SetBranchAddress("bMCTruthEt", bMCTruthEt, &b_bMCTruthEt);
823     fChain->SetBranchAddress("bMCTruthPx", bMCTruthPx, &b_bMCTruthPx);
824     fChain->SetBranchAddress("bMCTruthPy", bMCTruthPy, &b_bMCTruthPy);
825     fChain->SetBranchAddress("bMCTruthPz", bMCTruthPz, &b_bMCTruthPz);
826     fChain->SetBranchAddress("bMCTruthMother", bMCTruthMother, &b_bMCTruthMother);
827     fChain->SetBranchAddress("nWhadronic", &nWhadronic, &b_nWhadronic);
828     fChain->SetBranchAddress("W_hadronicMCTruthE", W_hadronicMCTruthE, &b_W_hadronicMCTruthE);
829     fChain->SetBranchAddress("W_hadronicMCTruthEt", W_hadronicMCTruthEt, &b_W_hadronicMCTruthEt);
830     fChain->SetBranchAddress("W_hadronicMCTruthPx", W_hadronicMCTruthPx, &b_W_hadronicMCTruthPx);
831     fChain->SetBranchAddress("W_hadronicMCTruthPy", W_hadronicMCTruthPy, &b_W_hadronicMCTruthPy);
832     fChain->SetBranchAddress("W_hadronicMCTruthPz", W_hadronicMCTruthPz, &b_W_hadronicMCTruthPz);
833     fChain->SetBranchAddress("W_hadronicMCTruthPID", W_hadronicMCTruthPID, &b_W_hadronicMCTruthPID);
834     fChain->SetBranchAddress("W_hadronicMCTruthMother", W_hadronicMCTruthMother, &b_W_hadronicMCTruthMother);
835     fChain->SetBranchAddress("nWleptonic", &nWleptonic, &b_nWleptonic);
836     fChain->SetBranchAddress("W_leptonicMCTruthE", W_leptonicMCTruthE, &b_W_leptonicMCTruthE);
837     fChain->SetBranchAddress("W_leptonicMCTruthEt", W_leptonicMCTruthEt, &b_W_leptonicMCTruthEt);
838     fChain->SetBranchAddress("W_leptonicMCTruthPx", W_leptonicMCTruthPx, &b_W_leptonicMCTruthPx);
839     fChain->SetBranchAddress("W_leptonicMCTruthPy", W_leptonicMCTruthPy, &b_W_leptonicMCTruthPy);
840     fChain->SetBranchAddress("W_leptonicMCTruthPz", W_leptonicMCTruthPz, &b_W_leptonicMCTruthPz);
841     fChain->SetBranchAddress("W_leptonicMCTruthPID", W_leptonicMCTruthPID, &b_W_leptonicMCTruthPID);
842     fChain->SetBranchAddress("W_leptonicMCTruthMother", W_leptonicMCTruthMother, &b_W_leptonicMCTruthMother);
843     fChain->SetBranchAddress("isElePlusJets", &isElePlusJets, &b_isElePlusJets);
844     fChain->SetBranchAddress("VQQBosonAbsId", &VQQBosonAbsId, &b_VQQBosonAbsId);
845     fChain->SetBranchAddress("numJet", &numJet, &b_numJet);
846     fChain->SetBranchAddress("jetE", jetE, &b_jetE);
847     fChain->SetBranchAddress("jetEt", jetEt, &b_jetEt);
848     fChain->SetBranchAddress("jetPt", jetPt, &b_jetPt);
849     fChain->SetBranchAddress("jetCorEt", jetCorEt, &b_jetCorEt);
850     fChain->SetBranchAddress("jetEta", jetEta, &b_jetEta);
851     fChain->SetBranchAddress("jetTheta", jetTheta, &b_jetTheta);
852     fChain->SetBranchAddress("jetPhi", jetPhi, &b_jetPhi);
853     fChain->SetBranchAddress("jetPx", jetPx, &b_jetPx);
854     fChain->SetBranchAddress("jetPy", jetPy, &b_jetPy);
855     fChain->SetBranchAddress("jetPz", jetPz, &b_jetPz);
856     fChain->SetBranchAddress("jetNtracksInJet", jetNtracksInJet, &b_jetNtracksInJet);
857     fChain->SetBranchAddress("jetJetCharge", jetJetCharge, &b_jetJetCharge);
858     fChain->SetBranchAddress("jetMuEnergy", jetMuEnergy, &b_jetMuEnergy);
859     fChain->SetBranchAddress("jetMuEnergyFraction", jetMuEnergyFraction, &b_jetMuEnergyFraction);
860     fChain->SetBranchAddress("jetChargedMultiplicity", jetChargedMultiplicity, &b_jetChargedMultiplicity);
861     fChain->SetBranchAddress("jetNeutralHadEnergy", jetNeutralHadEnergy, &b_jetNeutralHadEnergy);
862     fChain->SetBranchAddress("jetEMEnergyInEB", jetEMEnergyInEB, &b_jetEMEnergyInEB);
863     fChain->SetBranchAddress("jetEMEnergyInEE", jetEMEnergyInEE, &b_jetEMEnergyInEE);
864     fChain->SetBranchAddress("jetEMEnergyFraction", jetEMEnergyFraction, &b_jetEMEnergyFraction);
865     fChain->SetBranchAddress("jetEMEnergyInHF", jetEMEnergyInHF, &b_jetEMEnergyInHF);
866     fChain->SetBranchAddress("jetHadEnergyInHB", jetHadEnergyInHB, &b_jetHadEnergyInHB);
867     fChain->SetBranchAddress("jetHadEnergyInHE", jetHadEnergyInHE, &b_jetHadEnergyInHE);
868     fChain->SetBranchAddress("jetHadEnergyInHF", jetHadEnergyInHF, &b_jetHadEnergyInHF);
869     fChain->SetBranchAddress("jetHadEnergyInHO", jetHadEnergyInHO, &b_jetHadEnergyInHO);
870     fChain->SetBranchAddress("jetBtagTrackCountHighPurity", jetBtagTrackCountHighPurity, &b_jetBtagTrackCountHighPurity);
871     fChain->SetBranchAddress("jetBtagTrackCountHighEff", jetBtagTrackCountHighEff, &b_jetBtagTrackCountHighEff);
872     fChain->SetBranchAddress("jetBtagProbability", jetBtagProbability, &b_jetBtagProbability);
873     fChain->SetBranchAddress("jetBtagSoftElectron", jetBtagSoftElectron, &b_jetBtagSoftElectron);
874     fChain->SetBranchAddress("jetBtagSoftMuon", jetBtagSoftMuon, &b_jetBtagSoftMuon);
875     fChain->SetBranchAddress("jetBtagSoftMuonNoIP", jetBtagSoftMuonNoIP, &b_jetBtagSoftMuonNoIP);
876     fChain->SetBranchAddress("jetBtagSoftMuonPtRel", jetBtagSoftMuonPtRel, &b_jetBtagSoftMuonPtRel);
877     fChain->SetBranchAddress("jetBtagSoftMuonQuality", jetBtagSoftMuonQuality, &b_jetBtagSoftMuonQuality);
878     fChain->SetBranchAddress("jetBtagSecondaryVertex", jetBtagSecondaryVertex, &b_jetBtagSecondaryVertex);
879     fChain->SetBranchAddress("jetBtagSecondaryVertexNegative", jetBtagSecondaryVertexNegative, &b_jetBtagSecondaryVertexNegative);
880     fChain->SetBranchAddress("jetBtagCombinedSVLL", jetBtagCombinedSVLL, &b_jetBtagCombinedSVLL);
881     fChain->SetBranchAddress("jetBtagCombinedSVMVA", jetBtagCombinedSVMVA, &b_jetBtagCombinedSVMVA);
882     fChain->SetBranchAddress("jetCorrFactor", jetCorrFactor, &b_jetCorrFactor);
883     fChain->SetBranchAddress("jetN60", jetN60, &b_jetN60);
884     fChain->SetBranchAddress("jetN90", jetN90, &b_jetN90);
885     fChain->SetBranchAddress("jetNeutralEmEnergy", jetNeutralEmEnergy, &b_jetNeutralEmEnergy);
886     fChain->SetBranchAddress("jetTriggered", jetTriggered, &b_jetTriggered);
887     fChain->SetBranchAddress("jetSVPT", jetSVPT, &b_jetSVPT);
888     fChain->SetBranchAddress("jetSVL2D", jetSVL2D, &b_jetSVL2D);
889     fChain->SetBranchAddress("jetSVL2Dxy", jetSVL2Dxy, &b_jetSVL2Dxy);
890     fChain->SetBranchAddress("jetSVL2DxyErr", jetSVL2DxyErr, &b_jetSVL2DxyErr);
891     fChain->SetBranchAddress("jetSVL2DxySig", jetSVL2DxySig, &b_jetSVL2DxySig);
892     fChain->SetBranchAddress("jetSVL3D", jetSVL3D, &b_jetSVL3D);
893     fChain->SetBranchAddress("jetSVL3DErr", jetSVL3DErr, &b_jetSVL3DErr);
894     fChain->SetBranchAddress("jetSVL3DSig", jetSVL3DSig, &b_jetSVL3DSig);
895     fChain->SetBranchAddress("jetSVMass", jetSVMass, &b_jetSVMass);
896     fChain->SetBranchAddress("jetSVNtracks", jetSVNtracks, &b_jetSVNtracks);
897     fChain->SetBranchAddress("genJetET", genJetET, &b_genJetET);
898     fChain->SetBranchAddress("genJetPX", genJetPX, &b_genJetPX);
899     fChain->SetBranchAddress("genJetPY", genJetPY, &b_genJetPY);
900     fChain->SetBranchAddress("genJetPZ", genJetPZ, &b_genJetPZ);
901     fChain->SetBranchAddress("genJetPhi", genJetPhi, &b_genJetPhi);
902     fChain->SetBranchAddress("genJetTheta", genJetTheta, &b_genJetTheta);
903     fChain->SetBranchAddress("genJetEta", genJetEta, &b_genJetEta);
904     fChain->SetBranchAddress("genJetPID", genJetPID, &b_genJetPID);
905     fChain->SetBranchAddress("jetPID", jetPID, &b_jetPID);
906     fChain->SetBranchAddress("jetClosestBPartonDeltaR", jetClosestBPartonDeltaR, &b_jetClosestBPartonDeltaR);
907     fChain->SetBranchAddress("jetClosestCPartonDeltaR", jetClosestCPartonDeltaR, &b_jetClosestCPartonDeltaR);
908     fChain->SetBranchAddress("btagParamDiscCut_MISTAGSSVM", &btagParamDiscCut_MISTAGSSVM, &b_btagParamDiscCut_MISTAGSSVM);
909     fChain->SetBranchAddress("btagParamDiscCut_PTRELSSVM", &btagParamDiscCut_PTRELSSVM, &b_btagParamDiscCut_PTRELSSVM);
910     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHEL", &btagParamDiscCut_PTRELTCHEL, &b_btagParamDiscCut_PTRELTCHEL);
911     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHEM", &btagParamDiscCut_PTRELTCHEM, &b_btagParamDiscCut_PTRELTCHEM);
912     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHET", &btagParamDiscCut_PTRELTCHET, &b_btagParamDiscCut_PTRELTCHET);
913     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHPL", &btagParamDiscCut_PTRELTCHPL, &b_btagParamDiscCut_PTRELTCHPL);
914     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHPM", &btagParamDiscCut_PTRELTCHPM, &b_btagParamDiscCut_PTRELTCHPM);
915     fChain->SetBranchAddress("btagParamDiscCut_PTRELTCHPT", &btagParamDiscCut_PTRELTCHPT, &b_btagParamDiscCut_PTRELTCHPT);
916     fChain->SetBranchAddress("btagParamDiscCut_SYSTEM8SSVM", &btagParamDiscCut_SYSTEM8SSVM, &b_btagParamDiscCut_SYSTEM8SSVM);
917     fChain->SetBranchAddress("jetBtagParam_MISTAGSSVM_BTAGLEFF", jetBtagParam_MISTAGSSVM_BTAGLEFF, &b_jetBtagParam_MISTAGSSVM_BTAGLEFF);
918     fChain->SetBranchAddress("jetBtagParam_MISTAGSSVM_BTAGLERR", jetBtagParam_MISTAGSSVM_BTAGLERR, &b_jetBtagParam_MISTAGSSVM_BTAGLERR);
919     fChain->SetBranchAddress("jetBtagParam_MISTAGSSVM_BTAGLEFFCORR", jetBtagParam_MISTAGSSVM_BTAGLEFFCORR, &b_jetBtagParam_MISTAGSSVM_BTAGLEFFCORR);
920     fChain->SetBranchAddress("jetBtagParam_MISTAGSSVM_BTAGLERRCORR", jetBtagParam_MISTAGSSVM_BTAGLERRCORR, &b_jetBtagParam_MISTAGSSVM_BTAGLERRCORR);
921     fChain->SetBranchAddress("jetBtagParam_PTRELSSVM_BTAGBEFFCORR", jetBtagParam_PTRELSSVM_BTAGBEFFCORR, &b_jetBtagParam_PTRELSSVM_BTAGBEFFCORR);
922     fChain->SetBranchAddress("jetBtagParam_PTRELSSVM_BTAGBERRCORR", jetBtagParam_PTRELSSVM_BTAGBERRCORR, &b_jetBtagParam_PTRELSSVM_BTAGBERRCORR);
923     fChain->SetBranchAddress("jetBtagParam_SYSTEM8SSVM_BTAGBEFF", jetBtagParam_SYSTEM8SSVM_BTAGBEFF, &b_jetBtagParam_SYSTEM8SSVM_BTAGBEFF);
924     fChain->SetBranchAddress("jetBtagParam_SYSTEM8SSVM_BTAGBERR", jetBtagParam_SYSTEM8SSVM_BTAGBERR, &b_jetBtagParam_SYSTEM8SSVM_BTAGBERR);
925     fChain->SetBranchAddress("jetBtagParam_PTRELTCHEL_BTAGBEFFCORR", jetBtagParam_PTRELTCHEL_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHEL_BTAGBEFFCORR);
926     fChain->SetBranchAddress("jetBtagParam_PTRELTCHEM_BTAGBEFFCORR", jetBtagParam_PTRELTCHEM_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHEM_BTAGBEFFCORR);
927     fChain->SetBranchAddress("jetBtagParam_PTRELTCHET_BTAGBEFFCORR", jetBtagParam_PTRELTCHET_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHET_BTAGBEFFCORR);
928     fChain->SetBranchAddress("jetBtagParam_PTRELTCHPL_BTAGBEFFCORR", jetBtagParam_PTRELTCHPL_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHPL_BTAGBEFFCORR);
929     fChain->SetBranchAddress("jetBtagParam_PTRELTCHPM_BTAGBEFFCORR", jetBtagParam_PTRELTCHPM_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHPM_BTAGBEFFCORR);
930     fChain->SetBranchAddress("jetBtagParam_PTRELTCHPT_BTAGBEFFCORR", jetBtagParam_PTRELTCHPT_BTAGBEFFCORR, &b_jetBtagParam_PTRELTCHPT_BTAGBEFFCORR);
931     fChain->SetBranchAddress("numGeneralTracks", &numGeneralTracks, &b_numGeneralTracks);
932     fChain->SetBranchAddress("generalTracksPt", generalTracksPt, &b_generalTracksPt);
933     fChain->SetBranchAddress("generalTracksEta", generalTracksEta, &b_generalTracksEta);
934     fChain->SetBranchAddress("generalTracksTheta", generalTracksTheta, &b_generalTracksTheta);
935     fChain->SetBranchAddress("generalTracksBeamSpotCorrectedD0", generalTracksBeamSpotCorrectedD0, &b_generalTracksBeamSpotCorrectedD0);
936     fChain->SetBranchAddress("generalTracksPhi", generalTracksPhi, &b_generalTracksPhi);
937     fChain->SetBranchAddress("generalTracksCharge", generalTracksCharge, &b_generalTracksCharge);
938     fChain->SetBranchAddress("processId", &processId, &b_processId);
939     fChain->SetBranchAddress("processPtHat", &processPtHat, &b_processPtHat);
940     fChain->SetBranchAddress("processMCWeight", &processMCWeight, &b_processMCWeight);
941     fChain->SetBranchAddress("beamSpotX", &beamSpotX, &b_beamSpotX);
942     fChain->SetBranchAddress("beamSpotY", &beamSpotY, &b_beamSpotY);
943     fChain->SetBranchAddress("beamSpotZ", &beamSpotZ, &b_beamSpotZ);
944     fChain->SetBranchAddress("topo_sphericity", &topo_sphericity, &b_topo_sphericity);
945     fChain->SetBranchAddress("topo_aplanarity", &topo_aplanarity, &b_topo_aplanarity);
946     fChain->SetBranchAddress("topo_sphericity_e", &topo_sphericity_e, &b_topo_sphericity_e);
947     fChain->SetBranchAddress("topo_aplanarity_e", &topo_aplanarity_e, &b_topo_aplanarity_e);
948     fChain->SetBranchAddress("topo_ht", &topo_ht, &b_topo_ht);
949     fChain->SetBranchAddress("topo_ht_e", &topo_ht_e, &b_top_ht_e);
950     fChain->SetBranchAddress("topo_sqrts", &topo_sqrts, &b_topo_sqrts);
951     fChain->SetBranchAddress("topo_sqrts_e", &topo_sqrts_e, &b_top_sqrts_e);
952     fChain->SetBranchAddress("topo_oblateness", &topo_oblateness, &b_topo_oblateness);
953     fChain->SetBranchAddress("metEt", &metEt, &b_metEt);
954     fChain->SetBranchAddress("metPhi", &metPhi, &b_metPhi);
955     fChain->SetBranchAddress("metPt", &metPt, &b_metPt);
956     fChain->SetBranchAddress("metPx", &metPx, &b_metPx);
957     fChain->SetBranchAddress("metPy", &metPy, &b_metPy);
958     fChain->SetBranchAddress("genMetEt", &genMetEt, &b_genMetEt);
959     fChain->SetBranchAddress("genMetPhi", &genMetPhi, &b_genMetPhi);
960     fChain->SetBranchAddress("genMetPt", &genMetPt, &b_genMetPt);
961     fChain->SetBranchAddress("genMetPx", &genMetPx, &b_genMetPx);
962     fChain->SetBranchAddress("genMetPy", &genMetPy, &b_genMetPy);
963     fChain->SetBranchAddress("metMaxEtEM", &metMaxEtEM, &b_metMaxEtEM);
964     fChain->SetBranchAddress("metMaxEtHad", &metMaxEtHad, &b_metMaxEtHad);
965     fChain->SetBranchAddress("metEtFracHad", &metEtFracHad, &b_metEtFracHad);
966     fChain->SetBranchAddress("metEtFracEM", &metEtFracEM, &b_metEtFracEM);
967     fChain->SetBranchAddress("metHadEtHB", &metHadEtHB, &b_metHadEtHB);
968     fChain->SetBranchAddress("metHadEtHO", &metHadEtHO, &b_metHadEtHO);
969     fChain->SetBranchAddress("metHadEtHF", &metHadEtHF, &b_metHadEtHF);
970     fChain->SetBranchAddress("metHadEtHE", &metHadEtHE, &b_metHadEtHE);
971     fChain->SetBranchAddress("metEmEtHF", &metEmEtHF, &b_metEmEtHF);
972     fChain->SetBranchAddress("metEmEtEE", &metEmEtEE, &b_metEmEtEE);
973     fChain->SetBranchAddress("metEmEtEB", &metEmEtEB, &b_metEmEtEB);
974     fChain->SetBranchAddress("metSignificance", &metSignificance, &b_metSignificance);
975     fChain->SetBranchAddress("metScalarEt", &metScalarEt, &b_metScalarEt);
976     fChain->SetBranchAddress("metEtUncorrected", &metEtUncorrected, &b_metEtUncorrected);
977     fChain->SetBranchAddress("metPhiUncorrected", &metPhiUncorrected, &b_metPhiUncorrected);
978     fChain->SetBranchAddress("mhtPt", &mhtPt, &b_mhtPt);
979     fChain->SetBranchAddress("mhtPy", &mhtPy, &b_mhtPy);
980     fChain->SetBranchAddress("mhtPx", &mhtPx, &b_mhtPx);
981     fChain->SetBranchAddress("mhtPhi", &mhtPhi, &b_mhtPhi);
982     fChain->SetBranchAddress("mhtSumEt", &mhtSumEt, &b_mhtSumEt);
983     fChain->SetBranchAddress("mhtSignif", &mhtSignif, &b_mhtSignif);
984     fChain->SetBranchAddress("nZCandidates", &nZCandidates, &b_nZCandidates);
985     fChain->SetBranchAddress("ZCandidates", ZCandidates, &b_ZCandidates);
986     fChain->SetBranchAddress("nTriggerBits", &nTriggerBits, &b_nTriggerBits);
987     fChain->SetBranchAddress("TriggerBits", TriggerBits, &b_TriggerBits);
988     fChain->SetBranchAddress("HLT_Ele15_LW_L1R", &HLT_Ele15_LW_L1R, &b_HLT_Ele15_LW_L1R);
989     fChain->SetBranchAddress("flavorhistory", &flavorhistory, &b_flavorhistory);
990     fChain->SetBranchAddress("myProcess", &myProcess, &b_myProcess);
991     fChain->SetBranchAddress("genParEta", genParEta, &b_genParEta);
992     fChain->SetBranchAddress("genParPhi", genParPhi, &b_genParPhi);
993     fChain->SetBranchAddress("genParTheta", genParTheta, &b_genParTheta);
994     fChain->SetBranchAddress("genParE", genParE, &b_genParE);
995     fChain->SetBranchAddress("genParEt", genParEt, &b_genParEt);
996     fChain->SetBranchAddress("genParP", genParP, &b_genParP);
997     fChain->SetBranchAddress("genParPt", genParPt, &b_genParPt);
998     fChain->SetBranchAddress("genParId", genParId, &b_genParId);
999     fChain->SetBranchAddress("genParStat", genParStat, &b_genParStat);
1000     fChain->SetBranchAddress("ndaughters", ndaughters, &b_ndaughters);
1001     fChain->SetBranchAddress("genParCharge", genParCharge, &b_genParCharge);
1002     fChain->SetBranchAddress("genEta", genEta, &b_genEta);
1003     fChain->SetBranchAddress("genPhi", genPhi, &b_genPhi);
1004     fChain->SetBranchAddress("genTheta", genTheta, &b_genTheta);
1005     fChain->SetBranchAddress("genE", genE, &b_genE);
1006     fChain->SetBranchAddress("genEt", genEt, &b_genEt);
1007     fChain->SetBranchAddress("genP", genP, &b_genP);
1008     fChain->SetBranchAddress("genPt", genPt, &b_genPt);
1009     fChain->SetBranchAddress("genId", genId, &b_genId);
1010     fChain->SetBranchAddress("genStat", genStat, &b_genStat);
1011     fChain->SetBranchAddress("genCharge", genCharge, &b_genCharge);
1012     fChain->SetBranchAddress("numTau", &numTau, &b_numTau);
1013     fChain->SetBranchAddress("tauE", tauE, &b_tauE);
1014     fChain->SetBranchAddress("tauPt", tauPt, &b_tauPt);
1015     fChain->SetBranchAddress("tauPhi", tauPhi, &b_tauPhi);
1016     fChain->SetBranchAddress("tauEta", tauEta, &b_tauEta);
1017     fChain->SetBranchAddress("numPhoton", &numPhoton, &b_numPhoton);
1018     fChain->SetBranchAddress("photonE", photonE, &b_photonE);
1019     fChain->SetBranchAddress("photonPt", photonPt, &b_photonPt);
1020     fChain->SetBranchAddress("photonPhi", photonPhi, &b_photonPhi);
1021     fChain->SetBranchAddress("photonEta", photonEta, &b_photonEta);
1022     fChain->SetBranchAddress("eventRun", &eventRun, &b_eventRun);
1023     fChain->SetBranchAddress("eventNum", &eventNum, &b_eventNum);
1024     fChain->SetBranchAddress("eventLumiblock", &eventLumiblock, &b_eventLumiblock);
1025     Notify();
1026     }
1027    
1028     Bool_t eventLoop::Notify()
1029     {
1030     // The Notify() function is called when a new file is opened. This
1031     // can be either for a new TTree in a TChain or when when a new TTree
1032     // is started when using PROOF. It is normally not necessary to make changes
1033     // to the generated code, but the routine can be extended by the
1034     // user if needed. The return value is currently not used.
1035    
1036     return kTRUE;
1037     }
1038    
1039     void eventLoop::Show(Long64_t entry)
1040     {
1041     // Print contents of entry.
1042     // If entry is not specified, print current entry
1043     if (!fChain) return;
1044     fChain->Show(entry);
1045     }
1046    
1047     Int_t eventLoop::Cut()
1048     {
1049     // This function may be called from Loop.
1050     // returns 1 if entry is accepted.
1051     // returns -1 otherwise.
1052    
1053     if (nGoodJets() < minGoodJets_) return -1;
1054     //number of primary vertices is missing....
1055     //i'm going to remove all jet pt cuts for the moment
1056     // if (jetPt[0] <=100) return -1; //jets are already sorted by Pt
1057    
1058     if ( nGoodElectrons() != 0 ) return -1;
1059     if ( nGoodMuons() != 0 ) return -1;
1060    
1061     return 1;
1062     }
1063    
1064     UInt_t eventLoop::nGoodJets() {
1065     UInt_t ngood=0;
1066     for (int i=0; i< numJet; i++) {
1067     if ( isJetGood(i) ) ngood++;
1068     }
1069    
1070     return ngood;
1071     }
1072    
1073     Bool_t eventLoop::isJetGood(UInt_t index) {
1074     return ( jetPt[index] > minJetPt_Good_ && fabs(jetEta[index])< maxJetEta_Good_ );
1075     }
1076    
1077     UInt_t eventLoop::nGoodElectrons() {
1078    
1079     UInt_t ngood = 0;
1080     for ( int i=0; i< numEle; i++) {
1081    
1082     if (eleTrackPt[i] < 15 ) continue;
1083     if (fabs(eleEta[i]) > 2.5) continue;
1084    
1085     //FIXME...i'm taking this directly from my old code
1086     //but why would it not be fabs() of this?
1087     if ( eleBeamSpotCorrectedTrackD0[i] > 0.2 ) continue;
1088     //&& (fabs(ele->eta)>1.567 || fabs(ele->eta)<1.47) );
1089    
1090     //this may not be exactly the same iso as i was using before
1091     if ( eleComRelIso[i] >0.5 ) continue;
1092    
1093     //from when i was using dmp's code. how to duplicate?
1094     // if ( ele->IDLoose != 1) continue;
1095    
1096     //if we get to here it must be good
1097     ngood++;
1098     }
1099     return ngood;
1100     }
1101    
1102     UInt_t eventLoop::nGoodMuons() {
1103     UInt_t ngood=0;
1104     for (int i=0; i<numMuo; i++) {
1105     //it doesn't look like we have the muon ID
1106     if (muoPt[i] < 10) continue;
1107     if ( fabs( muoEta[i]) >2.4) continue;
1108     //probably not the same variable that i was using before
1109     if (muonComRelIso[i] >0.1) continue;
1110    
1111     if (muonNDOF[i] == 0) {
1112     std::cout<<"muon ndof is 0!"<<std::endl;
1113     continue;
1114     }
1115     //i am assuming this is chi^2 and not chi^2/dof
1116     if ( muonChi2[i]/muonNDOF[i] > 10) continue;
1117     //FIXME ... again, shouldn't this be fabs()?
1118     if (muonBeamSpotCorrectedD0[i] > 0.2) continue;
1119     if (muonTrackNHits[i] < 11) continue;
1120    
1121     ngood++;
1122     }
1123     return ngood;
1124     }
1125    
1126    
1127     double eventLoop::getDeltaPhi(Double_t phi1, Double_t phi2) {
1128     return acos(cos(phi1-phi2));
1129     }
1130    
1131    
1132     #endif // #ifdef eventLoop_cxx