CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
IsolatedGenParticles.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: IsolatedGenParticles
4 // Class: IsolatedGenParticles
5 //
13 //
14 // Original Author: Seema Sharma
15 // Created: Tue Oct 27 09:46:41 CDT 2009
16 //
17 //
18 
21 
27 
30 
33 #include <iostream>
34 #include <iomanip>
35 #include<list>
36 #include<vector>
37 #include<cmath>
38 
41 
43 
45 
46  genSrc_ = iConfig.getUntrackedParameter("GenSrc",std::string("generator"));
47  useHepMC = iConfig.getUntrackedParameter<bool>("UseHepMC", false );
48  pSeed = iConfig.getUntrackedParameter<double>("ChargedHadronSeedP", 1.0);
49  ptMin = iConfig.getUntrackedParameter<double>("PTMin", 1.0);
50  etaMax = iConfig.getUntrackedParameter<double>("MaxChargedHadronEta", 2.5);
51  a_coneR = iConfig.getUntrackedParameter<double>("ConeRadius",34.98);
52  a_charIsoR = a_coneR + 28.9;
53  a_neutIsoR = a_charIsoR*0.726;
54  a_mipR = iConfig.getUntrackedParameter<double>("ConeRadiusMIP",14.0);
55  a_Isolation= iConfig.getUntrackedParameter<bool>("UseConeIsolation",false);
56  pCutIsolate= iConfig.getUntrackedParameter<double>("PMaxIsolation",20.0);
57  verbosity = iConfig.getUntrackedParameter<int>("Verbosity", 0);
58 
59  debugL1Info_ = iConfig.getUntrackedParameter<bool>( "DebugL1Info", false );
60  L1extraTauJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraTauJetSource");
61  L1extraCenJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraCenJetSource");
62  L1extraFwdJetSource_ = iConfig.getParameter<edm::InputTag>("L1extraFwdJetSource");
63  L1extraMuonSource_ = iConfig.getParameter<edm::InputTag>("L1extraMuonSource");
64  L1extraIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraIsoEmSource");
65  L1extraNonIsoEmSource_ = iConfig.getParameter<edm::InputTag>("L1extraNonIsoEmSource");
66  L1GTReadoutRcdSource_ = iConfig.getParameter<edm::InputTag>("L1GTReadoutRcdSource");
67  L1GTObjectMapRcdSource_= iConfig.getParameter<edm::InputTag>("L1GTObjectMapRcdSource");
68 
69  if (!strcmp("Dummy", genSrc_.c_str())) {
70  if (useHepMC) genSrc_ = "generator";
71  else genSrc_ = "genParticles";
72  }
73  std::cout << "Generator Source " << genSrc_ << " Use HepMC " << useHepMC
74  << " pSeed " << pSeed << " ptMin " << ptMin << " etaMax " << etaMax
75  << "\n a_coneR " << a_coneR << " a_charIsoR " << a_charIsoR
76  << " a_neutIsoR " << a_neutIsoR << " a_mipR " << a_mipR
77  << " debug " << verbosity << " debugL1Info " << debugL1Info_ << "\n"
78  << " Isolation Flag " << a_Isolation << " with cut "
79  << pCutIsolate << " GeV\n"
80  << " L1extraTauJetSource_ " << L1extraTauJetSource_
81  << " L1extraCenJetSource_ " << L1extraCenJetSource_
82  << " L1extraFwdJetSource_ " << L1extraFwdJetSource_
83  << " L1extraMuonSource_ " << L1extraMuonSource_
84  << " L1extraIsoEmSource_ " << L1extraIsoEmSource_
85  << " L1extraNonIsoEmSource_ " << L1extraNonIsoEmSource_
86  << " L1GTReadoutRcdSource_ " << L1GTReadoutRcdSource_
87  << " L1GTObjectMapRcdSource_" << L1GTObjectMapRcdSource_
88  << std::endl;
89 }
90 
92 
93 }
94 
96 
98 
99  nEventProc++;
100 
102  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
103  bField = bFieldH.product();
104 
105  // get particle data table
107  iSetup.getData(pdt);
108 
109  // get handle to HEPMCProduct
112  if (useHepMC) iEvent.getByLabel(genSrc_, hepmc);
113  else iEvent.getByLabel(genSrc_, genParticles);
114 
116  iSetup.get<CaloGeometryRecord>().get(pG);
117  const CaloGeometry* geo = pG.product();
118 
119  edm::ESHandle<CaloTopology> theCaloTopology;
120  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
121  const CaloTopology *caloTopology = theCaloTopology.product();
122 
124  iSetup.get<IdealGeometryRecord>().get(htopo);
125  const HcalTopology* theHBHETopology = htopo.product();
126 
127  //===================== save L1 Trigger information =======================
128  // get L1TriggerReadout records
130  iEvent.getByLabel(L1GTReadoutRcdSource_, gtRecord);
131 
133  iEvent.getByLabel(L1GTObjectMapRcdSource_, gtOMRec);
134 
135  // sanity check on L1 Trigger Records
136  if (!gtRecord.isValid()) {
137  std::cout << "\nL1GlobalTriggerReadoutRecord with \n \nnot found"
138  "\n --> returning false by default!\n" << std::endl;
139  }
140  if (!gtOMRec.isValid()) {
141  std::cout << "\nL1GlobalTriggerObjectMapRecord with \n \nnot found"
142  "\n --> returning false by default!\n" << std::endl;
143  }
144 
145  // L1 decision word
146  const DecisionWord dWord = gtRecord->decisionWord();
147  unsigned int numberTriggerBits= dWord.size();
148 
149  // just print the L1Bit number and AlgoName in first event
150  if ( !initL1){
151  initL1=true;
152  std::cout << "\n Number of Trigger bits " << numberTriggerBits << "\n\n";
153  std::cout << "\tBit \t L1 Algorithm " << std::endl;
154 
155  // get ObjectMaps from ObjectMapRecord
156  const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtOMRec->gtObjectMap();
157  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
158  itMap != objMapVec.end(); ++itMap) {
159 
160  // Get trigger bits
161  int itrig = (*itMap).algoBitNumber();
162 
163  // Get trigger names
164  algoBitToName[itrig] = (*itMap).algoName();
165 
166  std::cout << "\t" << itrig << "\t" << algoBitToName[itrig] << std::endl;
167 
168  // store the algoNames as bin labels of a histogram
169  h_L1AlgoNames->GetXaxis()->SetBinLabel(itrig+1, algoBitToName[itrig].c_str());
170 
171  } // end of for loop
172  } // end of initL1
173 
174  // save L1 decision for each event
175  for (unsigned int iBit = 0; iBit < numberTriggerBits; ++iBit) {
176  bool accept = dWord[iBit];
177  t_L1Decision->push_back(accept);
178  // fill the trigger map
179  if(debugL1Info_) std::cout << "Bit " << iBit << " " << algoBitToName[iBit] << " " << accept << std::endl;
180 
181  if(accept) h_L1AlgoNames->Fill(iBit);
182  }
183 
184  //===================
185  // L1Taus
187  iEvent.getByLabel(L1extraTauJetSource_,l1TauHandle);
188  l1extra::L1JetParticleCollection::const_iterator itr;
189  for(itr = l1TauHandle->begin(); itr != l1TauHandle->end(); ++itr ) {
190  t_L1TauJetPt ->push_back( itr->pt() );
191  t_L1TauJetEta ->push_back( itr->eta() );
192  t_L1TauJetPhi ->push_back( itr->phi() );
193  if(debugL1Info_) {
194  std::cout << "tauJ p/pt " << itr->momentum() << " " << itr->pt()
195  << " eta/phi " << itr->eta() << " " << itr->phi()
196  << std::endl;
197  }
198  }
199 
200  // L1 Central Jets
202  iEvent.getByLabel(L1extraCenJetSource_,l1CenJetHandle);
203  for( itr = l1CenJetHandle->begin(); itr != l1CenJetHandle->end(); ++itr ) {
204  t_L1CenJetPt ->push_back( itr->pt() );
205  t_L1CenJetEta ->push_back( itr->eta() );
206  t_L1CenJetPhi ->push_back( itr->phi() );
207  if(debugL1Info_) {
208  std::cout << "cenJ p/pt " << itr->momentum() << " " << itr->pt()
209  << " eta/phi " << itr->eta() << " " << itr->phi()
210  << std::endl;
211  }
212  }
213  // L1 Forward Jets
215  iEvent.getByLabel(L1extraFwdJetSource_,l1FwdJetHandle);
216  for( itr = l1FwdJetHandle->begin(); itr != l1FwdJetHandle->end(); ++itr ) {
217  t_L1FwdJetPt ->push_back( itr->pt() );
218  t_L1FwdJetEta ->push_back( itr->eta() );
219  t_L1FwdJetPhi ->push_back( itr->phi() );
220  if(debugL1Info_) {
221  std::cout << "fwdJ p/pt " << itr->momentum() << " " << itr->pt()
222  << " eta/phi " << itr->eta() << " " << itr->phi()
223  << std::endl;
224  }
225  }
226  // L1 Isolated EM onjects
227  l1extra::L1EmParticleCollection::const_iterator itrEm;
229  iEvent.getByLabel(L1extraIsoEmSource_, l1IsoEmHandle);
230  for( itrEm = l1IsoEmHandle->begin(); itrEm != l1IsoEmHandle->end(); ++itrEm ) {
231  t_L1IsoEMPt ->push_back( itrEm->pt() );
232  t_L1IsoEMEta ->push_back( itrEm->eta() );
233  t_L1IsoEMPhi ->push_back( itrEm->phi() );
234  if(debugL1Info_) {
235  std::cout << "isoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
236  << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
237  << std::endl;
238  }
239  }
240  // L1 Non-Isolated EM onjects
242  iEvent.getByLabel(L1extraNonIsoEmSource_, l1NonIsoEmHandle);
243  for( itrEm = l1NonIsoEmHandle->begin(); itrEm != l1NonIsoEmHandle->end(); ++itrEm ) {
244  t_L1NonIsoEMPt ->push_back( itrEm->pt() );
245  t_L1NonIsoEMEta ->push_back( itrEm->eta() );
246  t_L1NonIsoEMPhi ->push_back( itrEm->phi() );
247  if(debugL1Info_) {
248  std::cout << "nonIsoEm p/pt " << itrEm->momentum() << " " << itrEm->pt()
249  << " eta/phi " << itrEm->eta() << " " << itrEm->phi()
250  << std::endl;
251  }
252  }
253 
254  // L1 Muons
255  l1extra::L1MuonParticleCollection::const_iterator itrMu;
257  iEvent.getByLabel(L1extraMuonSource_, l1MuHandle);
258  for( itrMu = l1MuHandle->begin(); itrMu != l1MuHandle->end(); ++itrMu ) {
259  t_L1MuonPt ->push_back( itrMu->pt() );
260  t_L1MuonEta ->push_back( itrMu->eta() );
261  t_L1MuonPhi ->push_back( itrMu->phi() );
262  if(debugL1Info_) {
263  std::cout << "l1muon p/pt " << itrMu->momentum() << " " << itrMu->pt()
264  << " eta/phi " << itrMu->eta() << " " << itrMu->phi()
265  << std::endl;
266  }
267  }
268  //=====================================================================
269 
270  GlobalPoint posVec, posECAL;
272  if (verbosity>0) std::cout << "event number " << iEvent.id().event() <<std::endl;
273 
274  if (useHepMC) {
275  const HepMC::GenEvent *myGenEvent = hepmc->GetEvent();
276  std::vector<spr::propagatedGenTrackID> trackIDs = spr::propagateCALO(myGenEvent, pdt, geo, bField, etaMax, false);
277 
278  for (unsigned int indx=0; indx<trackIDs.size(); ++indx) {
279  int charge = trackIDs[indx].charge;
280  HepMC::GenEvent::particle_const_iterator p = trackIDs[indx].trkItr;
281  momVec = math::XYZTLorentzVector((*p)->momentum().px(), (*p)->momentum().py(), (*p)->momentum().pz(), (*p)->momentum().e());
282  if (verbosity>1) std::cout << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge << " momVec " << momVec << std::endl;
283  // only stable particles avoiding electrons and muons
284  if (trackIDs[indx].ok && (std::abs(trackIDs[indx].pdgId)<11 ||
285  std::abs(trackIDs[indx].pdgId)>=21)) {
286  // consider particles within a phased space
287  if (momVec.Pt() > ptMin && std::abs(momVec.eta()) < etaMax) {
288  posVec = GlobalPoint(0.1*(*p)->production_vertex()->position().x(),
289  0.1*(*p)->production_vertex()->position().y(),
290  0.1*(*p)->production_vertex()->position().z());
291  posECAL = trackIDs[indx].pointECAL;
292  fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
293  if (verbosity>1) std::cout << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL " << trackIDs[indx].okHCAL << std::endl;
294  if (trackIDs[indx].okECAL) {
295  if ( std::abs(charge)>0 ) {
296  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, false);
297  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, false);
298  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, false);
299  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, false);
300  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, false);
301  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, false);
302  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,10,10, isoinfo21x21, false);
303  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,12,12, isoinfo25x25, false);
304  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,15,15, isoinfo31x31, false);
305  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_mipR, trackIDs[indx].directionECAL, isoinfoR, false);
306  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_neutIsoR, trackIDs[indx].directionECAL, isoinfoIsoR, false);
307  if (trackIDs[indx].okHCAL) {
308  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, false);
309  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, false);
310  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, false);
311  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, false);
312  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_coneR, trackIDs[indx].directionHCAL, isoinfoHCR, false);
313  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_charIsoR, trackIDs[indx].directionHCAL, isoinfoIsoHCR, false);
314  }
315 
316  bool saveTrack = true;
317  if (a_Isolation) saveTrack = (isoinfoR.maxNearP < pCutIsolate);
318  else saveTrack = (isoinfo7x7.maxNearP < pCutIsolate);
319  if (saveTrack) fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
320  }
321  }
322  } else { // stabale particles within |eta|=2.5
323  fillTrack (posVec, momVec, posECAL, 0, false, false);
324  }
325  }
326  } // loop over gen particles
327  } else {
328  std::vector<spr::propagatedGenParticleID> trackIDs = spr::propagateCALO(genParticles, pdt, geo, bField, etaMax, (verbosity>0));
329 
330  for (unsigned int indx=0; indx<trackIDs.size(); ++indx) {
331  int charge = trackIDs[indx].charge;
332  reco::GenParticleCollection::const_iterator p = trackIDs[indx].trkItr;
333 
334  momVec = math::XYZTLorentzVector(p->momentum().x(), p->momentum().y(), p->momentum().z(), p->energy());
335  if (verbosity>1) std::cout << "trkIndx " << indx << " pdgid " << trackIDs[indx].pdgId << " charge " << charge << " momVec " << momVec << std::endl;
336  // only stable particles avoiding electrons and muons
337  if (trackIDs[indx].ok && std::abs(trackIDs[indx].pdgId)>21) {
338  // consider particles within a phased space
339  if (verbosity>1) std::cout << " pt " << momVec.Pt() << " eta " << momVec.eta() << std::endl;
340  if (momVec.Pt() > ptMin && std::abs(momVec.eta()) < etaMax) {
341  posVec = GlobalPoint(p->vertex().x(), p->vertex().y(), p->vertex().z());
342  posECAL = trackIDs[indx].pointECAL;
343  if (verbosity>0) std::cout << "posECAL " << posECAL << " okECAL " << trackIDs[indx].okECAL << "okHCAL " << trackIDs[indx].okHCAL << std::endl;
344  fillTrack (posVec, momVec, posECAL, trackIDs[indx].pdgId, trackIDs[indx].okECAL, true);
345  if (trackIDs[indx].okECAL) {
346  if ( std::abs(charge)>0 ) {
347  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 0, 0, isoinfo1x1, verbosity>1);
348  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 1, 1, isoinfo3x3, verbosity>0);
349  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 3, 3, isoinfo7x7, verbosity>1);
350  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 4, 4, isoinfo9x9, verbosity>1);
351  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 5, 5, isoinfo11x11, verbosity>1);
352  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, 7, 7, isoinfo15x15, verbosity>1);
353  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,10,10, isoinfo21x21, verbosity>1);
354  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,12,12, isoinfo25x25, verbosity>1);
355  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology,15,15, isoinfo31x31, verbosity>1);
356  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_mipR, trackIDs[indx].directionECAL, isoinfoR, verbosity>1);
357  spr::eGenSimInfo(trackIDs[indx].detIdECAL, p, trackIDs, geo, caloTopology, a_neutIsoR, trackIDs[indx].directionECAL, isoinfoIsoR, verbosity>1);
358  if (trackIDs[indx].okHCAL) {
359  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 0, 0, isoinfoHC1x1, verbosity>1);
360  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 1, 1, isoinfoHC3x3, verbosity>1);
361  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 2, 2, isoinfoHC5x5, verbosity>1);
362  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, theHBHETopology, 3, 3, isoinfoHC7x7, verbosity>1);
363  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_coneR, trackIDs[indx].directionHCAL, isoinfoHCR, verbosity>1);
364  spr::hGenSimInfo(trackIDs[indx].detIdHCAL, p, trackIDs, geo, theHBHETopology, a_charIsoR, trackIDs[indx].directionHCAL, isoinfoIsoHCR, verbosity>1);
365  }
366 
367  bool saveTrack = true;
368  if (a_Isolation) saveTrack = (isoinfoIsoR.maxNearP < pCutIsolate);
369  else saveTrack = (isoinfo7x7.maxNearP < pCutIsolate);
370  if (saveTrack) fillIsolatedTrack(momVec, posECAL, trackIDs[indx].pdgId);
371  }
372  }
373  } else { // stabale particles within |eta|=2.5
374  fillTrack (posVec, momVec, posECAL, 0, false, false);
375  }
376  }
377  } // loop over gen particles
378  }
379 
380  //t_nEvtProc->push_back(nEventProc);
381  h_NEventProc->SetBinContent(1,nEventProc);
382  tree->Fill();
383 
384 }
385 
387 
388  nEventProc=0;
389 
390  initL1 = false;
391 
392  double tempgen_TH[NPBins+1] = { 0.0, 5.0, 12.0, 300.0};
393  for(int i=0; i<=NPBins; i++) genPartPBins[i] = tempgen_TH[i];
394 
395  double tempgen_Eta[NEtaBins+1] = {0.0, 0.5, 1.1, 1.7, 2.3};
396  for(int i=0; i<=NEtaBins; i++) genPartEtaBins[i] = tempgen_Eta[i];
397 
398  BookHistograms();
399 
400 }
401 
403 }
404 
405 double IsolatedGenParticles::DeltaPhi(double v1, double v2) {
406  // Computes the correctly normalized phi difference
407  // v1, v2 = phi of object 1 and 2
408 
409  double pi = 3.141592654;
410  double twopi = 6.283185307;
411 
412  double diff = std::abs(v2 - v1);
413  double corr = twopi - diff;
414  if (diff < pi){ return diff;} else { return corr;}
415 }
416 
417 double IsolatedGenParticles::DeltaR(double eta1, double phi1, double eta2, double phi2) {
418  double deta = eta1 - eta2;
419  double dphi = DeltaPhi(phi1, phi2);
420  return std::sqrt(deta*deta + dphi*dphi);
421 }
422 
423 double IsolatedGenParticles::DeltaR2(double eta1, double phi1, double eta2, double phi2) {
424  double deta = eta1 - eta2;
425  double dphi = DeltaPhi(phi1, phi2);
426  return deta*deta + dphi*dphi;
427 }
428 
429 void IsolatedGenParticles::fillTrack (GlobalPoint & posVec, math::XYZTLorentzVector & momVec, GlobalPoint & posECAL, int pdgId, bool okECAL, bool accept) {
430 
431  if (accept) {
432  t_isoTrkPAll ->push_back( momVec.P() );
433  t_isoTrkPtAll ->push_back( momVec.Pt() );
434  t_isoTrkPhiAll ->push_back( momVec.phi() );
435  t_isoTrkEtaAll ->push_back( momVec.eta() );
436  t_isoTrkPdgIdAll ->push_back( pdgId ) ;
437  if (okECAL) {
438  double phi1 = momVec.phi();
439  double phi2 = (posECAL - posVec).phi();
440  double dphi = DeltaPhi( phi1, phi2 );
441  double deta = momVec.eta() - (posECAL - posVec).eta();
442  t_isoTrkDPhiAll ->push_back( dphi );
443  t_isoTrkDEtaAll ->push_back( deta );
444  } else {
445  t_isoTrkDPhiAll ->push_back( 999.0 );
446  t_isoTrkDEtaAll ->push_back( 999.0 );
447  }
448  } else {
449  t_isoTrkDPhiAll ->push_back( -999.0 );
450  t_isoTrkDEtaAll ->push_back( -999.0 );
451  }
452 }
453 
455 
456  t_isoTrkP ->push_back(momVec.P());
457  t_isoTrkPt ->push_back(momVec.Pt());
458  t_isoTrkEne ->push_back(momVec.E());
459  t_isoTrkEta ->push_back(momVec.eta());
460  t_isoTrkPhi ->push_back(momVec.phi());
461  t_isoTrkEtaEC ->push_back(posECAL.eta());
462  t_isoTrkPhiEC ->push_back(posECAL.phi());
463  t_isoTrkPdgId ->push_back(pdgId);
464 
472  t_eleEne31x31 ->push_back(isoinfo31x31.eleEne);
473  t_muEne31x31 ->push_back(isoinfo31x31.muEne);
474 
482  t_eleEne25x25 ->push_back(isoinfo25x25.eleEne);
483  t_muEne25x25 ->push_back(isoinfo25x25.muEne);
484 
492  t_eleEne21x21 ->push_back(isoinfo21x21.eleEne);
493  t_muEne21x21 ->push_back(isoinfo21x21.muEne);
494 
502  t_eleEne15x15 ->push_back(isoinfo15x15.eleEne);
503  t_muEne15x15 ->push_back(isoinfo15x15.muEne);
504 
512  t_eleEne11x11 ->push_back(isoinfo11x11.eleEne);
513  t_muEne11x11 ->push_back(isoinfo11x11.muEne);
514 
515  t_maxNearP9x9 ->push_back(isoinfo9x9.maxNearP);
517  t_cHadronEne9x9_1 ->push_back(isoinfo9x9.cHadronEne_[0]);
518  t_cHadronEne9x9_2 ->push_back(isoinfo9x9.cHadronEne_[1]);
519  t_cHadronEne9x9_3 ->push_back(isoinfo9x9.cHadronEne_[2]);
521  t_photonEne9x9 ->push_back(isoinfo9x9.photonEne);
522  t_eleEne9x9 ->push_back(isoinfo9x9.eleEne);
523  t_muEne9x9 ->push_back(isoinfo9x9.muEne);
524 
525  t_maxNearP7x7 ->push_back(isoinfo7x7.maxNearP);
527  t_cHadronEne7x7_1 ->push_back(isoinfo7x7.cHadronEne_[0]);
528  t_cHadronEne7x7_2 ->push_back(isoinfo7x7.cHadronEne_[1]);
529  t_cHadronEne7x7_3 ->push_back(isoinfo7x7.cHadronEne_[2]);
531  t_photonEne7x7 ->push_back(isoinfo7x7.photonEne);
532  t_eleEne7x7 ->push_back(isoinfo7x7.eleEne);
533  t_muEne7x7 ->push_back(isoinfo7x7.muEne);
534 
535  t_maxNearP3x3 ->push_back(isoinfo3x3.maxNearP);
537  t_cHadronEne3x3_1 ->push_back(isoinfo3x3.cHadronEne_[0]);
538  t_cHadronEne3x3_2 ->push_back(isoinfo3x3.cHadronEne_[1]);
539  t_cHadronEne3x3_3 ->push_back(isoinfo3x3.cHadronEne_[2]);
541  t_photonEne3x3 ->push_back(isoinfo3x3.photonEne);
542  t_eleEne3x3 ->push_back(isoinfo3x3.eleEne);
543  t_muEne3x3 ->push_back(isoinfo3x3.muEne);
544 
545  t_maxNearP1x1 ->push_back(isoinfo1x1.maxNearP);
547  t_cHadronEne1x1_1 ->push_back(isoinfo1x1.cHadronEne_[0]);
548  t_cHadronEne1x1_2 ->push_back(isoinfo1x1.cHadronEne_[1]);
549  t_cHadronEne1x1_3 ->push_back(isoinfo1x1.cHadronEne_[2]);
551  t_photonEne1x1 ->push_back(isoinfo1x1.photonEne);
552  t_eleEne1x1 ->push_back(isoinfo1x1.eleEne);
553  t_muEne1x1 ->push_back(isoinfo1x1.muEne);
554 
562  t_eleEneHC1x1 ->push_back(isoinfoHC1x1.eleEne);
563  t_muEneHC1x1 ->push_back(isoinfoHC1x1.muEne);
564 
572  t_eleEneHC3x3 ->push_back(isoinfoHC3x3.eleEne);
573  t_muEneHC3x3 ->push_back(isoinfoHC3x3.muEne);
574 
582  t_eleEneHC5x5 ->push_back(isoinfoHC5x5.eleEne);
583  t_muEneHC5x5 ->push_back(isoinfoHC5x5.muEne);
584 
592  t_eleEneHC7x7 ->push_back(isoinfoHC7x7.eleEne);
593  t_muEneHC7x7 ->push_back(isoinfoHC7x7.muEne);
594 
595  t_maxNearPR ->push_back(isoinfoR.maxNearP);
596  t_cHadronEneR ->push_back(isoinfoR.cHadronEne);
597  t_cHadronEneR_1 ->push_back(isoinfoR.cHadronEne_[0]);
598  t_cHadronEneR_2 ->push_back(isoinfoR.cHadronEne_[1]);
599  t_cHadronEneR_3 ->push_back(isoinfoR.cHadronEne_[2]);
600  t_nHadronEneR ->push_back(isoinfoR.nHadronEne);
601  t_photonEneR ->push_back(isoinfoR.photonEne);
602  t_eleEneR ->push_back(isoinfoR.eleEne);
603  t_muEneR ->push_back(isoinfoR.muEne);
604 
605  t_maxNearPIsoR ->push_back(isoinfoIsoR.maxNearP);
612  t_eleEneIsoR ->push_back(isoinfoIsoR.eleEne);
613  t_muEneIsoR ->push_back(isoinfoIsoR.muEne);
614 
615  t_maxNearPHCR ->push_back(isoinfoHCR.maxNearP);
617  t_cHadronEneHCR_1 ->push_back(isoinfoHCR.cHadronEne_[0]);
618  t_cHadronEneHCR_2 ->push_back(isoinfoHCR.cHadronEne_[1]);
619  t_cHadronEneHCR_3 ->push_back(isoinfoHCR.cHadronEne_[2]);
621  t_photonEneHCR ->push_back(isoinfoHCR.photonEne);
622  t_eleEneHCR ->push_back(isoinfoHCR.eleEne);
623  t_muEneHCR ->push_back(isoinfoHCR.muEne);
624 
632  t_eleEneIsoHCR ->push_back(isoinfoIsoHCR.eleEne);
633  t_muEneIsoHCR ->push_back(isoinfoIsoHCR.muEne);
634 }
635 
637 
638  //char hname[100], htit[100];
639 
640  h_NEventProc = fs->make<TH1I>("h_NEventProc", "h_NEventProc", 2, -0.5, 0.5);
641  h_L1AlgoNames = fs->make<TH1I>("h_L1AlgoNames", "h_L1AlgoNames:Bin Labels", 128, -0.5, 127.5);
642 
643  TFileDirectory dir1 = fs->mkdir( "dPhidEta" );
644 
645  // build the tree
646  tree = fs->make<TTree>("tree", "tree");
647 
648  t_isoTrkPAll = new std::vector<double>();
649  t_isoTrkPtAll = new std::vector<double>();
650  t_isoTrkPhiAll = new std::vector<double>();
651  t_isoTrkEtaAll = new std::vector<double>();
652  t_isoTrkDPhiAll = new std::vector<double>();
653  t_isoTrkDEtaAll = new std::vector<double>();
654  t_isoTrkPdgIdAll = new std::vector<double>();
655 
656  t_isoTrkP = new std::vector<double>();
657  t_isoTrkPt = new std::vector<double>();
658  t_isoTrkEne = new std::vector<double>();
659  t_isoTrkEta = new std::vector<double>();
660  t_isoTrkPhi = new std::vector<double>();
661  t_isoTrkEtaEC = new std::vector<double>();
662  t_isoTrkPhiEC = new std::vector<double>();
663  t_isoTrkPdgId = new std::vector<double>();
664 
665  t_maxNearP31x31 = new std::vector<double>();
666  t_cHadronEne31x31 = new std::vector<double>();
667  t_cHadronEne31x31_1 = new std::vector<double>();
668  t_cHadronEne31x31_2 = new std::vector<double>();
669  t_cHadronEne31x31_3 = new std::vector<double>();
670  t_nHadronEne31x31 = new std::vector<double>();
671  t_photonEne31x31 = new std::vector<double>();
672  t_eleEne31x31 = new std::vector<double>();
673  t_muEne31x31 = new std::vector<double>();
674 
675  t_maxNearP25x25 = new std::vector<double>();
676  t_cHadronEne25x25 = new std::vector<double>();
677  t_cHadronEne25x25_1 = new std::vector<double>();
678  t_cHadronEne25x25_2 = new std::vector<double>();
679  t_cHadronEne25x25_3 = new std::vector<double>();
680  t_nHadronEne25x25 = new std::vector<double>();
681  t_photonEne25x25 = new std::vector<double>();
682  t_eleEne25x25 = new std::vector<double>();
683  t_muEne25x25 = new std::vector<double>();
684 
685  t_maxNearP21x21 = new std::vector<double>();
686  t_cHadronEne21x21 = new std::vector<double>();
687  t_cHadronEne21x21_1 = new std::vector<double>();
688  t_cHadronEne21x21_2 = new std::vector<double>();
689  t_cHadronEne21x21_3 = new std::vector<double>();
690  t_nHadronEne21x21 = new std::vector<double>();
691  t_photonEne21x21 = new std::vector<double>();
692  t_eleEne21x21 = new std::vector<double>();
693  t_muEne21x21 = new std::vector<double>();
694 
695  t_maxNearP15x15 = new std::vector<double>();
696  t_cHadronEne15x15 = new std::vector<double>();
697  t_cHadronEne15x15_1 = new std::vector<double>();
698  t_cHadronEne15x15_2 = new std::vector<double>();
699  t_cHadronEne15x15_3 = new std::vector<double>();
700  t_nHadronEne15x15 = new std::vector<double>();
701  t_photonEne15x15 = new std::vector<double>();
702  t_eleEne15x15 = new std::vector<double>();
703  t_muEne15x15 = new std::vector<double>();
704 
705  t_maxNearP11x11 = new std::vector<double>();
706  t_cHadronEne11x11 = new std::vector<double>();
707  t_cHadronEne11x11_1 = new std::vector<double>();
708  t_cHadronEne11x11_2 = new std::vector<double>();
709  t_cHadronEne11x11_3 = new std::vector<double>();
710  t_nHadronEne11x11 = new std::vector<double>();
711  t_photonEne11x11 = new std::vector<double>();
712  t_eleEne11x11 = new std::vector<double>();
713  t_muEne11x11 = new std::vector<double>();
714 
715  t_maxNearP9x9 = new std::vector<double>();
716  t_cHadronEne9x9 = new std::vector<double>();
717  t_cHadronEne9x9_1 = new std::vector<double>();
718  t_cHadronEne9x9_2 = new std::vector<double>();
719  t_cHadronEne9x9_3 = new std::vector<double>();
720  t_nHadronEne9x9 = new std::vector<double>();
721  t_photonEne9x9 = new std::vector<double>();
722  t_eleEne9x9 = new std::vector<double>();
723  t_muEne9x9 = new std::vector<double>();
724 
725  t_maxNearP7x7 = new std::vector<double>();
726  t_cHadronEne7x7 = new std::vector<double>();
727  t_cHadronEne7x7_1 = new std::vector<double>();
728  t_cHadronEne7x7_2 = new std::vector<double>();
729  t_cHadronEne7x7_3 = new std::vector<double>();
730  t_nHadronEne7x7 = new std::vector<double>();
731  t_photonEne7x7 = new std::vector<double>();
732  t_eleEne7x7 = new std::vector<double>();
733  t_muEne7x7 = new std::vector<double>();
734 
735  t_maxNearP3x3 = new std::vector<double>();
736  t_cHadronEne3x3 = new std::vector<double>();
737  t_cHadronEne3x3_1 = new std::vector<double>();
738  t_cHadronEne3x3_2 = new std::vector<double>();
739  t_cHadronEne3x3_3 = new std::vector<double>();
740  t_nHadronEne3x3 = new std::vector<double>();
741  t_photonEne3x3 = new std::vector<double>();
742  t_eleEne3x3 = new std::vector<double>();
743  t_muEne3x3 = new std::vector<double>();
744 
745  t_maxNearP1x1 = new std::vector<double>();
746  t_cHadronEne1x1 = new std::vector<double>();
747  t_cHadronEne1x1_1 = new std::vector<double>();
748  t_cHadronEne1x1_2 = new std::vector<double>();
749  t_cHadronEne1x1_3 = new std::vector<double>();
750  t_nHadronEne1x1 = new std::vector<double>();
751  t_photonEne1x1 = new std::vector<double>();
752  t_eleEne1x1 = new std::vector<double>();
753  t_muEne1x1 = new std::vector<double>();
754 
755  t_maxNearPHC1x1 = new std::vector<double>();
756  t_cHadronEneHC1x1 = new std::vector<double>();
757  t_cHadronEneHC1x1_1 = new std::vector<double>();
758  t_cHadronEneHC1x1_2 = new std::vector<double>();
759  t_cHadronEneHC1x1_3 = new std::vector<double>();
760  t_nHadronEneHC1x1 = new std::vector<double>();
761  t_photonEneHC1x1 = new std::vector<double>();
762  t_eleEneHC1x1 = new std::vector<double>();
763  t_muEneHC1x1 = new std::vector<double>();
764 
765  t_maxNearPHC3x3 = new std::vector<double>();
766  t_cHadronEneHC3x3 = new std::vector<double>();
767  t_cHadronEneHC3x3_1 = new std::vector<double>();
768  t_cHadronEneHC3x3_2 = new std::vector<double>();
769  t_cHadronEneHC3x3_3 = new std::vector<double>();
770  t_nHadronEneHC3x3 = new std::vector<double>();
771  t_photonEneHC3x3 = new std::vector<double>();
772  t_eleEneHC3x3 = new std::vector<double>();
773  t_muEneHC3x3 = new std::vector<double>();
774 
775  t_maxNearPHC5x5 = new std::vector<double>();
776  t_cHadronEneHC5x5 = new std::vector<double>();
777  t_cHadronEneHC5x5_1 = new std::vector<double>();
778  t_cHadronEneHC5x5_2 = new std::vector<double>();
779  t_cHadronEneHC5x5_3 = new std::vector<double>();
780  t_nHadronEneHC5x5 = new std::vector<double>();
781  t_photonEneHC5x5 = new std::vector<double>();
782  t_eleEneHC5x5 = new std::vector<double>();
783  t_muEneHC5x5 = new std::vector<double>();
784 
785  t_maxNearPHC7x7 = new std::vector<double>();
786  t_cHadronEneHC7x7 = new std::vector<double>();
787  t_cHadronEneHC7x7_1 = new std::vector<double>();
788  t_cHadronEneHC7x7_2 = new std::vector<double>();
789  t_cHadronEneHC7x7_3 = new std::vector<double>();
790  t_nHadronEneHC7x7 = new std::vector<double>();
791  t_photonEneHC7x7 = new std::vector<double>();
792  t_eleEneHC7x7 = new std::vector<double>();
793  t_muEneHC7x7 = new std::vector<double>();
794 
795  t_maxNearPR = new std::vector<double>();
796  t_cHadronEneR = new std::vector<double>();
797  t_cHadronEneR_1 = new std::vector<double>();
798  t_cHadronEneR_2 = new std::vector<double>();
799  t_cHadronEneR_3 = new std::vector<double>();
800  t_nHadronEneR = new std::vector<double>();
801  t_photonEneR = new std::vector<double>();
802  t_eleEneR = new std::vector<double>();
803  t_muEneR = new std::vector<double>();
804 
805  t_maxNearPIsoR = new std::vector<double>();
806  t_cHadronEneIsoR = new std::vector<double>();
807  t_cHadronEneIsoR_1 = new std::vector<double>();
808  t_cHadronEneIsoR_2 = new std::vector<double>();
809  t_cHadronEneIsoR_3 = new std::vector<double>();
810  t_nHadronEneIsoR = new std::vector<double>();
811  t_photonEneIsoR = new std::vector<double>();
812  t_eleEneIsoR = new std::vector<double>();
813  t_muEneIsoR = new std::vector<double>();
814 
815  t_maxNearPHCR = new std::vector<double>();
816  t_cHadronEneHCR = new std::vector<double>();
817  t_cHadronEneHCR_1 = new std::vector<double>();
818  t_cHadronEneHCR_2 = new std::vector<double>();
819  t_cHadronEneHCR_3 = new std::vector<double>();
820  t_nHadronEneHCR = new std::vector<double>();
821  t_photonEneHCR = new std::vector<double>();
822  t_eleEneHCR = new std::vector<double>();
823  t_muEneHCR = new std::vector<double>();
824 
825  t_maxNearPIsoHCR = new std::vector<double>();
826  t_cHadronEneIsoHCR = new std::vector<double>();
827  t_cHadronEneIsoHCR_1 = new std::vector<double>();
828  t_cHadronEneIsoHCR_2 = new std::vector<double>();
829  t_cHadronEneIsoHCR_3 = new std::vector<double>();
830  t_nHadronEneIsoHCR = new std::vector<double>();
831  t_photonEneIsoHCR = new std::vector<double>();
832  t_eleEneIsoHCR = new std::vector<double>();
833  t_muEneIsoHCR = new std::vector<double>();
834 
835  //----- L1Trigger
836  t_L1Decision = new std::vector<int>();
837  t_L1CenJetPt = new std::vector<double>();
838  t_L1CenJetEta = new std::vector<double>();
839  t_L1CenJetPhi = new std::vector<double>();
840  t_L1FwdJetPt = new std::vector<double>();
841  t_L1FwdJetEta = new std::vector<double>();
842  t_L1FwdJetPhi = new std::vector<double>();
843  t_L1TauJetPt = new std::vector<double>();
844  t_L1TauJetEta = new std::vector<double>();
845  t_L1TauJetPhi = new std::vector<double>();
846  t_L1MuonPt = new std::vector<double>();
847  t_L1MuonEta = new std::vector<double>();
848  t_L1MuonPhi = new std::vector<double>();
849  t_L1IsoEMPt = new std::vector<double>();
850  t_L1IsoEMEta = new std::vector<double>();
851  t_L1IsoEMPhi = new std::vector<double>();
852  t_L1NonIsoEMPt = new std::vector<double>();
853  t_L1NonIsoEMEta = new std::vector<double>();
854  t_L1NonIsoEMPhi = new std::vector<double>();
855  t_L1METPt = new std::vector<double>();
856  t_L1METEta = new std::vector<double>();
857  t_L1METPhi = new std::vector<double>();
858 
859  //tree->Branch("t_nEvtProc", "vector<int>", &t_nEvtProc);
860 
861  tree->Branch("t_isoTrkPAll", "vector<double>", &t_isoTrkPAll);
862  tree->Branch("t_isoTrkPtAll", "vector<double>", &t_isoTrkPtAll);
863  tree->Branch("t_isoTrkPhiAll", "vector<double>", &t_isoTrkPhiAll);
864  tree->Branch("t_isoTrkEtaAll", "vector<double>", &t_isoTrkEtaAll);
865  tree->Branch("t_isoTrkDPhiAll", "vector<double>", &t_isoTrkDPhiAll);
866  tree->Branch("t_isoTrkDEtaAll", "vector<double>", &t_isoTrkDEtaAll);
867  tree->Branch("t_isoTrkPdgIdAll", "vector<double>", &t_isoTrkPdgIdAll);
868 
869  tree->Branch("t_isoTrkP", "vector<double>", &t_isoTrkP);
870  tree->Branch("t_isoTrkPt", "vector<double>", &t_isoTrkPt);
871  tree->Branch("t_isoTrkEne", "vector<double>", &t_isoTrkEne);
872  tree->Branch("t_isoTrkEta", "vector<double>", &t_isoTrkEta);
873  tree->Branch("t_isoTrkPhi", "vector<double>", &t_isoTrkPhi);
874  tree->Branch("t_isoTrkEtaEC", "vector<double>", &t_isoTrkEtaEC);
875  tree->Branch("t_isoTrkPhiEC", "vector<double>", &t_isoTrkPhiEC);
876  tree->Branch("t_isoTrkPdgId", "vector<double>", &t_isoTrkPdgId);
877 
878  tree->Branch("t_maxNearP31x31", "vector<double>", &t_maxNearP31x31);
879  tree->Branch("t_cHadronEne31x31", "vector<double>", &t_cHadronEne31x31);
880  tree->Branch("t_cHadronEne31x31_1", "vector<double>", &t_cHadronEne31x31_1);
881  tree->Branch("t_cHadronEne31x31_2", "vector<double>", &t_cHadronEne31x31_2);
882  tree->Branch("t_cHadronEne31x31_3", "vector<double>", &t_cHadronEne31x31_3);
883  tree->Branch("t_nHadronEne31x31", "vector<double>", &t_nHadronEne31x31);
884  tree->Branch("t_photonEne31x31", "vector<double>", &t_photonEne31x31);
885  tree->Branch("t_eleEne31x31", "vector<double>", &t_eleEne31x31);
886  tree->Branch("t_muEne31x31", "vector<double>", &t_muEne31x31);
887 
888  tree->Branch("t_maxNearP25x25", "vector<double>", &t_maxNearP25x25);
889  tree->Branch("t_cHadronEne25x25", "vector<double>", &t_cHadronEne25x25);
890  tree->Branch("t_cHadronEne25x25_1", "vector<double>", &t_cHadronEne25x25_1);
891  tree->Branch("t_cHadronEne25x25_2", "vector<double>", &t_cHadronEne25x25_2);
892  tree->Branch("t_cHadronEne25x25_3", "vector<double>", &t_cHadronEne25x25_3);
893  tree->Branch("t_nHadronEne25x25", "vector<double>", &t_nHadronEne25x25);
894  tree->Branch("t_photonEne25x25", "vector<double>", &t_photonEne25x25);
895  tree->Branch("t_eleEne25x25", "vector<double>", &t_eleEne25x25);
896  tree->Branch("t_muEne25x25", "vector<double>", &t_muEne25x25);
897 
898  tree->Branch("t_maxNearP21x21", "vector<double>", &t_maxNearP21x21);
899  tree->Branch("t_cHadronEne21x21", "vector<double>", &t_cHadronEne21x21);
900  tree->Branch("t_cHadronEne21x21_1", "vector<double>", &t_cHadronEne21x21_1);
901  tree->Branch("t_cHadronEne21x21_2", "vector<double>", &t_cHadronEne21x21_2);
902  tree->Branch("t_cHadronEne21x21_3", "vector<double>", &t_cHadronEne21x21_3);
903  tree->Branch("t_nHadronEne21x21", "vector<double>", &t_nHadronEne21x21);
904  tree->Branch("t_photonEne21x21", "vector<double>", &t_photonEne21x21);
905  tree->Branch("t_eleEne21x21", "vector<double>", &t_eleEne21x21);
906  tree->Branch("t_muEne21x21", "vector<double>", &t_muEne21x21);
907 
908  tree->Branch("t_maxNearP15x15", "vector<double>", &t_maxNearP15x15);
909  tree->Branch("t_cHadronEne15x15", "vector<double>", &t_cHadronEne15x15);
910  tree->Branch("t_cHadronEne15x15_1", "vector<double>", &t_cHadronEne15x15_1);
911  tree->Branch("t_cHadronEne15x15_2", "vector<double>", &t_cHadronEne15x15_2);
912  tree->Branch("t_cHadronEne15x15_3", "vector<double>", &t_cHadronEne15x15_3);
913  tree->Branch("t_nHadronEne15x15", "vector<double>", &t_nHadronEne15x15);
914  tree->Branch("t_photonEne15x15", "vector<double>", &t_photonEne15x15);
915  tree->Branch("t_eleEne15x15", "vector<double>", &t_eleEne15x15);
916  tree->Branch("t_muEne15x15", "vector<double>", &t_muEne15x15);
917 
918  tree->Branch("t_maxNearP11x11", "vector<double>", &t_maxNearP11x11);
919  tree->Branch("t_cHadronEne11x11", "vector<double>", &t_cHadronEne11x11);
920  tree->Branch("t_cHadronEne11x11_1", "vector<double>", &t_cHadronEne11x11_1);
921  tree->Branch("t_cHadronEne11x11_2", "vector<double>", &t_cHadronEne11x11_2);
922  tree->Branch("t_cHadronEne11x11_3", "vector<double>", &t_cHadronEne11x11_3);
923  tree->Branch("t_nHadronEne11x11", "vector<double>", &t_nHadronEne11x11);
924  tree->Branch("t_photonEne11x11", "vector<double>", &t_photonEne11x11);
925  tree->Branch("t_eleEne11x11", "vector<double>", &t_eleEne11x11);
926  tree->Branch("t_muEne11x11", "vector<double>", &t_muEne11x11);
927 
928  tree->Branch("t_maxNearP9x9", "vector<double>", &t_maxNearP9x9);
929  tree->Branch("t_cHadronEne9x9", "vector<double>", &t_cHadronEne9x9);
930  tree->Branch("t_cHadronEne9x9_1", "vector<double>", &t_cHadronEne9x9_1);
931  tree->Branch("t_cHadronEne9x9_2", "vector<double>", &t_cHadronEne9x9_2);
932  tree->Branch("t_cHadronEne9x9_3", "vector<double>", &t_cHadronEne9x9_3);
933  tree->Branch("t_nHadronEne9x9", "vector<double>", &t_nHadronEne9x9);
934  tree->Branch("t_photonEne9x9", "vector<double>", &t_photonEne9x9);
935  tree->Branch("t_eleEne9x9", "vector<double>", &t_eleEne9x9);
936  tree->Branch("t_muEne9x9", "vector<double>", &t_muEne9x9);
937 
938  tree->Branch("t_maxNearP7x7", "vector<double>", &t_maxNearP7x7);
939  tree->Branch("t_cHadronEne7x7", "vector<double>", &t_cHadronEne7x7);
940  tree->Branch("t_cHadronEne7x7_1", "vector<double>", &t_cHadronEne7x7_1);
941  tree->Branch("t_cHadronEne7x7_2", "vector<double>", &t_cHadronEne7x7_2);
942  tree->Branch("t_cHadronEne7x7_3", "vector<double>", &t_cHadronEne7x7_3);
943  tree->Branch("t_nHadronEne7x7", "vector<double>", &t_nHadronEne7x7);
944  tree->Branch("t_photonEne7x7", "vector<double>", &t_photonEne7x7);
945  tree->Branch("t_eleEne7x7", "vector<double>", &t_eleEne7x7);
946  tree->Branch("t_muEne7x7", "vector<double>", &t_muEne7x7);
947 
948  tree->Branch("t_maxNearP3x3", "vector<double>", &t_maxNearP3x3);
949  tree->Branch("t_cHadronEne3x3", "vector<double>", &t_cHadronEne3x3);
950  tree->Branch("t_cHadronEne3x3_1", "vector<double>", &t_cHadronEne3x3_1);
951  tree->Branch("t_cHadronEne3x3_2", "vector<double>", &t_cHadronEne3x3_2);
952  tree->Branch("t_cHadronEne3x3_3", "vector<double>", &t_cHadronEne3x3_3);
953  tree->Branch("t_nHadronEne3x3", "vector<double>", &t_nHadronEne3x3);
954  tree->Branch("t_photonEne3x3", "vector<double>", &t_photonEne3x3);
955  tree->Branch("t_eleEne3x3", "vector<double>", &t_eleEne3x3);
956  tree->Branch("t_muEne3x3", "vector<double>", &t_muEne3x3);
957 
958  tree->Branch("t_maxNearP1x1", "vector<double>", &t_maxNearP1x1);
959  tree->Branch("t_cHadronEne1x1", "vector<double>", &t_cHadronEne1x1);
960  tree->Branch("t_cHadronEne1x1_1", "vector<double>", &t_cHadronEne1x1_1);
961  tree->Branch("t_cHadronEne1x1_2", "vector<double>", &t_cHadronEne1x1_2);
962  tree->Branch("t_cHadronEne1x1_3", "vector<double>", &t_cHadronEne1x1_3);
963  tree->Branch("t_nHadronEne1x1", "vector<double>", &t_nHadronEne1x1);
964  tree->Branch("t_photonEne1x1", "vector<double>", &t_photonEne1x1);
965  tree->Branch("t_eleEne1x1", "vector<double>", &t_eleEne1x1);
966  tree->Branch("t_muEne1x1", "vector<double>", &t_muEne1x1);
967 
968  tree->Branch("t_maxNearPHC1x1", "vector<double>", &t_maxNearPHC1x1);
969  tree->Branch("t_cHadronEneHC1x1", "vector<double>", &t_cHadronEneHC1x1);
970  tree->Branch("t_cHadronEneHC1x1_1", "vector<double>", &t_cHadronEneHC1x1_1);
971  tree->Branch("t_cHadronEneHC1x1_2", "vector<double>", &t_cHadronEneHC1x1_2);
972  tree->Branch("t_cHadronEneHC1x1_3", "vector<double>", &t_cHadronEneHC1x1_3);
973  tree->Branch("t_nHadronEneHC1x1", "vector<double>", &t_nHadronEneHC1x1);
974  tree->Branch("t_photonEneHC1x1", "vector<double>", &t_photonEneHC1x1);
975  tree->Branch("t_eleEneHC1x1", "vector<double>", &t_eleEneHC1x1);
976  tree->Branch("t_muEneHC1x1", "vector<double>", &t_muEneHC1x1);
977 
978  tree->Branch("t_maxNearPHC3x3", "vector<double>", &t_maxNearPHC3x3);
979  tree->Branch("t_cHadronEneHC3x3", "vector<double>", &t_cHadronEneHC3x3);
980  tree->Branch("t_cHadronEneHC3x3_1", "vector<double>", &t_cHadronEneHC3x3_1);
981  tree->Branch("t_cHadronEneHC3x3_2", "vector<double>", &t_cHadronEneHC3x3_2);
982  tree->Branch("t_cHadronEneHC3x3_3", "vector<double>", &t_cHadronEneHC3x3_3);
983  tree->Branch("t_nHadronEneHC3x3", "vector<double>", &t_nHadronEneHC3x3);
984  tree->Branch("t_photonEneHC3x3", "vector<double>", &t_photonEneHC3x3);
985  tree->Branch("t_eleEneHC3x3", "vector<double>", &t_eleEneHC3x3);
986  tree->Branch("t_muEneHC3x3", "vector<double>", &t_muEneHC3x3);
987 
988  tree->Branch("t_maxNearPHC5x5", "vector<double>", &t_maxNearPHC5x5);
989  tree->Branch("t_cHadronEneHC5x5", "vector<double>", &t_cHadronEneHC5x5);
990  tree->Branch("t_cHadronEneHC5x5_1", "vector<double>", &t_cHadronEneHC5x5_1);
991  tree->Branch("t_cHadronEneHC5x5_2", "vector<double>", &t_cHadronEneHC5x5_2);
992  tree->Branch("t_cHadronEneHC5x5_3", "vector<double>", &t_cHadronEneHC5x5_3);
993  tree->Branch("t_nHadronEneHC5x5", "vector<double>", &t_nHadronEneHC5x5);
994  tree->Branch("t_photonEneHC5x5", "vector<double>", &t_photonEneHC5x5);
995  tree->Branch("t_eleEneHC5x5", "vector<double>", &t_eleEneHC5x5);
996  tree->Branch("t_muEneHC5x5", "vector<double>", &t_muEneHC5x5);
997 
998  tree->Branch("t_maxNearPHC7x7", "vector<double>", &t_maxNearPHC7x7);
999  tree->Branch("t_cHadronEneHC7x7", "vector<double>", &t_cHadronEneHC7x7);
1000  tree->Branch("t_cHadronEneHC7x7_1", "vector<double>", &t_cHadronEneHC7x7_1);
1001  tree->Branch("t_cHadronEneHC7x7_2", "vector<double>", &t_cHadronEneHC7x7_2);
1002  tree->Branch("t_cHadronEneHC7x7_3", "vector<double>", &t_cHadronEneHC7x7_3);
1003  tree->Branch("t_nHadronEneHC7x7", "vector<double>", &t_nHadronEneHC7x7);
1004  tree->Branch("t_photonEneHC7x7", "vector<double>", &t_photonEneHC7x7);
1005  tree->Branch("t_eleEneHC7x7", "vector<double>", &t_eleEneHC7x7);
1006  tree->Branch("t_muEneHC7x7", "vector<double>", &t_muEneHC7x7);
1007 
1008  tree->Branch("t_maxNearPR", "vector<double>", &t_maxNearPR);
1009  tree->Branch("t_cHadronEneR", "vector<double>", &t_cHadronEneR);
1010  tree->Branch("t_cHadronEneR_1", "vector<double>", &t_cHadronEneR_1);
1011  tree->Branch("t_cHadronEneR_2", "vector<double>", &t_cHadronEneR_2);
1012  tree->Branch("t_cHadronEneR_3", "vector<double>", &t_cHadronEneR_3);
1013  tree->Branch("t_nHadronEneR", "vector<double>", &t_nHadronEneR);
1014  tree->Branch("t_photonEneR", "vector<double>", &t_photonEneR);
1015  tree->Branch("t_eleEneR", "vector<double>", &t_eleEneR);
1016  tree->Branch("t_muEneR", "vector<double>", &t_muEneR);
1017 
1018  tree->Branch("t_maxNearPIsoR", "vector<double>", &t_maxNearPIsoR);
1019  tree->Branch("t_cHadronEneIsoR", "vector<double>", &t_cHadronEneIsoR);
1020  tree->Branch("t_cHadronEneIsoR_1", "vector<double>", &t_cHadronEneIsoR_1);
1021  tree->Branch("t_cHadronEneIsoR_2", "vector<double>", &t_cHadronEneIsoR_2);
1022  tree->Branch("t_cHadronEneIsoR_3", "vector<double>", &t_cHadronEneIsoR_3);
1023  tree->Branch("t_nHadronEneIsoR", "vector<double>", &t_nHadronEneIsoR);
1024  tree->Branch("t_photonEneIsoR", "vector<double>", &t_photonEneIsoR);
1025  tree->Branch("t_eleEneIsoR", "vector<double>", &t_eleEneIsoR);
1026  tree->Branch("t_muEneIsoR", "vector<double>", &t_muEneIsoR);
1027 
1028  tree->Branch("t_maxNearPHCR", "vector<double>", &t_maxNearPHCR);
1029  tree->Branch("t_cHadronEneHCR", "vector<double>", &t_cHadronEneHCR);
1030  tree->Branch("t_cHadronEneHCR_1", "vector<double>", &t_cHadronEneHCR_1);
1031  tree->Branch("t_cHadronEneHCR_2", "vector<double>", &t_cHadronEneHCR_2);
1032  tree->Branch("t_cHadronEneHCR_3", "vector<double>", &t_cHadronEneHCR_3);
1033  tree->Branch("t_nHadronEneHCR", "vector<double>", &t_nHadronEneHCR);
1034  tree->Branch("t_photonEneHCR", "vector<double>", &t_photonEneHCR);
1035  tree->Branch("t_eleEneHCR", "vector<double>", &t_eleEneHCR);
1036  tree->Branch("t_muEneHCR", "vector<double>", &t_muEneHCR);
1037 
1038  tree->Branch("t_maxNearPIsoHCR", "vector<double>", &t_maxNearPIsoHCR);
1039  tree->Branch("t_cHadronEneIsoHCR", "vector<double>", &t_cHadronEneIsoHCR);
1040  tree->Branch("t_cHadronEneIsoHCR_1", "vector<double>", &t_cHadronEneIsoHCR_1);
1041  tree->Branch("t_cHadronEneIsoHCR_2", "vector<double>", &t_cHadronEneIsoHCR_2);
1042  tree->Branch("t_cHadronEneIsoHCR_3", "vector<double>", &t_cHadronEneIsoHCR_3);
1043  tree->Branch("t_nHadronEneIsoHCR", "vector<double>", &t_nHadronEneIsoHCR);
1044  tree->Branch("t_photonEneIsoHCR", "vector<double>", &t_photonEneIsoHCR);
1045  tree->Branch("t_eleEneIsoHCR", "vector<double>", &t_eleEneIsoHCR);
1046  tree->Branch("t_muEneIsoHCR", "vector<double>", &t_muEneIsoHCR);
1047 
1048  tree->Branch("t_L1Decision", "vector<int>", &t_L1Decision);
1049  tree->Branch("t_L1CenJetPt", "vector<double>", &t_L1CenJetPt);
1050  tree->Branch("t_L1CenJetEta", "vector<double>", &t_L1CenJetEta);
1051  tree->Branch("t_L1CenJetPhi", "vector<double>", &t_L1CenJetPhi);
1052  tree->Branch("t_L1FwdJetPt", "vector<double>", &t_L1FwdJetPt);
1053  tree->Branch("t_L1FwdJetEta", "vector<double>", &t_L1FwdJetEta);
1054  tree->Branch("t_L1FwdJetPhi", "vector<double>", &t_L1FwdJetPhi);
1055  tree->Branch("t_L1TauJetPt", "vector<double>", &t_L1TauJetPt);
1056  tree->Branch("t_L1TauJetEta", "vector<double>", &t_L1TauJetEta);
1057  tree->Branch("t_L1TauJetPhi", "vector<double>", &t_L1TauJetPhi);
1058  tree->Branch("t_L1MuonPt", "vector<double>", &t_L1MuonPt);
1059  tree->Branch("t_L1MuonEta", "vector<double>", &t_L1MuonEta);
1060  tree->Branch("t_L1MuonPhi", "vector<double>", &t_L1MuonPhi);
1061  tree->Branch("t_L1IsoEMPt", "vector<double>", &t_L1IsoEMPt);
1062  tree->Branch("t_L1IsoEMEta", "vector<double>", &t_L1IsoEMEta);
1063  tree->Branch("t_L1IsoEMPhi", "vector<double>", &t_L1IsoEMPhi);
1064  tree->Branch("t_L1NonIsoEMPt", "vector<double>", &t_L1NonIsoEMPt);
1065  tree->Branch("t_L1NonIsoEMEta", "vector<double>", &t_L1NonIsoEMEta);
1066  tree->Branch("t_L1NonIsoEMPhi", "vector<double>", &t_L1NonIsoEMPhi);
1067  tree->Branch("t_L1METPt", "vector<double>", &t_L1METPt);
1068  tree->Branch("t_L1METEta", "vector<double>", &t_L1METEta);
1069  tree->Branch("t_L1METPhi", "vector<double>", &t_L1METPhi);
1070 }
1071 
1072 
1074  // t_maxNearP31x31->clear();
1075 
1076  //t_nEvtProc ->clear();
1077 
1078  t_isoTrkPAll ->clear();
1079  t_isoTrkPtAll ->clear();
1080  t_isoTrkPhiAll ->clear();
1081  t_isoTrkEtaAll ->clear();
1082  t_isoTrkDPhiAll ->clear();
1083  t_isoTrkDEtaAll ->clear();
1084  t_isoTrkPdgIdAll ->clear();
1085 
1086  t_isoTrkP ->clear();
1087  t_isoTrkPt ->clear();
1088  t_isoTrkEne ->clear();
1089  t_isoTrkEta ->clear();
1090  t_isoTrkPhi ->clear();
1091  t_isoTrkEtaEC ->clear();
1092  t_isoTrkPhiEC ->clear();
1093  t_isoTrkPdgId ->clear();
1094 
1095  t_maxNearP31x31 ->clear();
1096  t_cHadronEne31x31 ->clear();
1097  t_cHadronEne31x31_1 ->clear();
1098  t_cHadronEne31x31_2 ->clear();
1099  t_cHadronEne31x31_3 ->clear();
1100  t_nHadronEne31x31 ->clear();
1101  t_photonEne31x31 ->clear();
1102  t_eleEne31x31 ->clear();
1103  t_muEne31x31 ->clear();
1104 
1105  t_maxNearP25x25 ->clear();
1106  t_cHadronEne25x25 ->clear();
1107  t_cHadronEne25x25_1 ->clear();
1108  t_cHadronEne25x25_2 ->clear();
1109  t_cHadronEne25x25_3 ->clear();
1110  t_nHadronEne25x25 ->clear();
1111  t_photonEne25x25 ->clear();
1112  t_eleEne25x25 ->clear();
1113  t_muEne25x25 ->clear();
1114 
1115  t_maxNearP21x21 ->clear();
1116  t_cHadronEne21x21 ->clear();
1117  t_cHadronEne21x21_1 ->clear();
1118  t_cHadronEne21x21_2 ->clear();
1119  t_cHadronEne21x21_3 ->clear();
1120  t_nHadronEne21x21 ->clear();
1121  t_photonEne21x21 ->clear();
1122  t_eleEne21x21 ->clear();
1123  t_muEne21x21 ->clear();
1124 
1125  t_maxNearP15x15 ->clear();
1126  t_cHadronEne15x15 ->clear();
1127  t_cHadronEne15x15_1 ->clear();
1128  t_cHadronEne15x15_2 ->clear();
1129  t_cHadronEne15x15_3 ->clear();
1130  t_nHadronEne15x15 ->clear();
1131  t_photonEne15x15 ->clear();
1132  t_eleEne15x15 ->clear();
1133  t_muEne15x15 ->clear();
1134 
1135  t_maxNearP11x11 ->clear();
1136  t_cHadronEne11x11 ->clear();
1137  t_cHadronEne11x11_1 ->clear();
1138  t_cHadronEne11x11_2 ->clear();
1139  t_cHadronEne11x11_3 ->clear();
1140  t_nHadronEne11x11 ->clear();
1141  t_photonEne11x11 ->clear();
1142  t_eleEne11x11 ->clear();
1143  t_muEne11x11 ->clear();
1144 
1145  t_maxNearP9x9 ->clear();
1146  t_cHadronEne9x9 ->clear();
1147  t_cHadronEne9x9_1 ->clear();
1148  t_cHadronEne9x9_2 ->clear();
1149  t_cHadronEne9x9_3 ->clear();
1150  t_nHadronEne9x9 ->clear();
1151  t_photonEne9x9 ->clear();
1152  t_eleEne9x9 ->clear();
1153  t_muEne9x9 ->clear();
1154 
1155  t_maxNearP7x7 ->clear();
1156  t_cHadronEne7x7 ->clear();
1157  t_cHadronEne7x7_1 ->clear();
1158  t_cHadronEne7x7_2 ->clear();
1159  t_cHadronEne7x7_3 ->clear();
1160  t_nHadronEne7x7 ->clear();
1161  t_photonEne7x7 ->clear();
1162  t_eleEne7x7 ->clear();
1163  t_muEne7x7 ->clear();
1164 
1165  t_maxNearP3x3 ->clear();
1166  t_cHadronEne3x3 ->clear();
1167  t_cHadronEne3x3_1 ->clear();
1168  t_cHadronEne3x3_2 ->clear();
1169  t_cHadronEne3x3_3 ->clear();
1170  t_nHadronEne3x3 ->clear();
1171  t_photonEne3x3 ->clear();
1172  t_eleEne3x3 ->clear();
1173  t_muEne3x3 ->clear();
1174 
1175  t_maxNearP1x1 ->clear();
1176  t_cHadronEne1x1 ->clear();
1177  t_cHadronEne1x1_1 ->clear();
1178  t_cHadronEne1x1_2 ->clear();
1179  t_cHadronEne1x1_3 ->clear();
1180  t_nHadronEne1x1 ->clear();
1181  t_photonEne1x1 ->clear();
1182  t_eleEne1x1 ->clear();
1183  t_muEne1x1 ->clear();
1184 
1185  t_maxNearPHC1x1 ->clear();
1186  t_cHadronEneHC1x1 ->clear();
1187  t_cHadronEneHC1x1_1 ->clear();
1188  t_cHadronEneHC1x1_2 ->clear();
1189  t_cHadronEneHC1x1_3 ->clear();
1190  t_nHadronEneHC1x1 ->clear();
1191  t_photonEneHC1x1 ->clear();
1192  t_eleEneHC1x1 ->clear();
1193  t_muEneHC1x1 ->clear();
1194 
1195  t_maxNearPHC3x3 ->clear();
1196  t_cHadronEneHC3x3 ->clear();
1197  t_cHadronEneHC3x3_1 ->clear();
1198  t_cHadronEneHC3x3_2 ->clear();
1199  t_cHadronEneHC3x3_3 ->clear();
1200  t_nHadronEneHC3x3 ->clear();
1201  t_photonEneHC3x3 ->clear();
1202  t_eleEneHC3x3 ->clear();
1203  t_muEneHC3x3 ->clear();
1204 
1205  t_maxNearPHC5x5 ->clear();
1206  t_cHadronEneHC5x5 ->clear();
1207  t_cHadronEneHC5x5_1 ->clear();
1208  t_cHadronEneHC5x5_2 ->clear();
1209  t_cHadronEneHC5x5_3 ->clear();
1210  t_nHadronEneHC5x5 ->clear();
1211  t_photonEneHC5x5 ->clear();
1212  t_eleEneHC5x5 ->clear();
1213  t_muEneHC5x5 ->clear();
1214 
1215  t_maxNearPHC7x7 ->clear();
1216  t_cHadronEneHC7x7 ->clear();
1217  t_cHadronEneHC7x7_1 ->clear();
1218  t_cHadronEneHC7x7_2 ->clear();
1219  t_cHadronEneHC7x7_3 ->clear();
1220  t_nHadronEneHC7x7 ->clear();
1221  t_photonEneHC7x7 ->clear();
1222  t_eleEneHC7x7 ->clear();
1223  t_muEneHC7x7 ->clear();
1224 
1225  t_maxNearPR ->clear();
1226  t_cHadronEneR ->clear();
1227  t_cHadronEneR_1 ->clear();
1228  t_cHadronEneR_2 ->clear();
1229  t_cHadronEneR_3 ->clear();
1230  t_nHadronEneR ->clear();
1231  t_photonEneR ->clear();
1232  t_eleEneR ->clear();
1233  t_muEneR ->clear();
1234 
1235  t_maxNearPIsoR ->clear();
1236  t_cHadronEneIsoR ->clear();
1237  t_cHadronEneIsoR_1 ->clear();
1238  t_cHadronEneIsoR_2 ->clear();
1239  t_cHadronEneIsoR_3 ->clear();
1240  t_nHadronEneIsoR ->clear();
1241  t_photonEneIsoR ->clear();
1242  t_eleEneIsoR ->clear();
1243  t_muEneIsoR ->clear();
1244 
1245  t_maxNearPHCR ->clear();
1246  t_cHadronEneHCR ->clear();
1247  t_cHadronEneHCR_1 ->clear();
1248  t_cHadronEneHCR_2 ->clear();
1249  t_cHadronEneHCR_3 ->clear();
1250  t_nHadronEneHCR ->clear();
1251  t_photonEneHCR ->clear();
1252  t_eleEneHCR ->clear();
1253  t_muEneHCR ->clear();
1254 
1255  t_maxNearPIsoHCR ->clear();
1256  t_cHadronEneIsoHCR ->clear();
1257  t_cHadronEneIsoHCR_1 ->clear();
1258  t_cHadronEneIsoHCR_2 ->clear();
1259  t_cHadronEneIsoHCR_3 ->clear();
1260  t_nHadronEneIsoHCR ->clear();
1261  t_photonEneIsoHCR ->clear();
1262  t_eleEneIsoHCR ->clear();
1263  t_muEneIsoHCR ->clear();
1264 
1265  t_L1Decision ->clear();
1266  t_L1CenJetPt ->clear();
1267  t_L1CenJetEta ->clear();
1268  t_L1CenJetPhi ->clear();
1269  t_L1FwdJetPt ->clear();
1270  t_L1FwdJetEta ->clear();
1271  t_L1FwdJetPhi ->clear();
1272  t_L1TauJetPt ->clear();
1273  t_L1TauJetEta ->clear();
1274  t_L1TauJetPhi ->clear();
1275  t_L1MuonPt ->clear();
1276  t_L1MuonEta ->clear();
1277  t_L1MuonPhi ->clear();
1278  t_L1IsoEMPt ->clear();
1279  t_L1IsoEMEta ->clear();
1280  t_L1IsoEMPhi ->clear();
1281  t_L1NonIsoEMPt ->clear();
1282  t_L1NonIsoEMEta ->clear();
1283  t_L1NonIsoEMPhi ->clear();
1284  t_L1METPt ->clear();
1285  t_L1METEta ->clear();
1286  t_L1METPhi ->clear();
1287 }
1288 
1289 //define this as a plug-in
std::vector< double > * t_cHadronEneHC1x1_3
std::vector< double > * t_eleEne7x7
std::vector< double > * t_nHadronEne21x21
std::vector< double > * t_cHadronEneHC7x7_2
T getParameter(std::string const &) const
spr::genSimInfo isoinfo25x25
EventNumber_t event() const
Definition: EventID.h:44
std::vector< double > * t_isoTrkEtaAll
std::vector< double > * t_maxNearPHCR
T getUntrackedParameter(std::string const &, T const &) const
std::vector< double > * t_isoTrkPdgId
int i
Definition: DBlmapReader.cc:9
std::vector< double > * t_L1FwdJetPhi
std::vector< double > * t_eleEne31x31
std::vector< double > * t_eleEneHC7x7
std::string algoBitToName[nL1BitsMax]
std::vector< int > * t_L1Decision
spr::genSimInfo isoinfo31x31
std::vector< double > * t_cHadronEneIsoR_1
std::vector< double > * t_nHadronEne7x7
std::vector< double > * t_isoTrkPt
std::vector< double > * t_L1TauJetPhi
std::vector< double > * t_L1TauJetPt
std::vector< double > * t_cHadronEneHCR_1
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
std::vector< double > * t_L1CenJetEta
std::vector< double > * t_photonEne7x7
spr::genSimInfo isoinfo21x21
std::vector< double > * t_L1MuonPt
std::vector< double > * t_isoTrkEta
std::vector< double > * t_cHadronEneHC7x7
std::vector< double > * t_cHadronEneHC7x7_3
std::vector< double > * t_cHadronEne7x7_2
double cHadronEne_[3]
Definition: GenSimInfo.h:47
std::vector< double > * t_cHadronEne15x15_3
std::vector< double > * t_maxNearP15x15
double photonEne
Definition: GenSimInfo.h:45
std::vector< double > * t_nHadronEneHC7x7
std::vector< double > * t_photonEne21x21
std::vector< double > * t_cHadronEneIsoHCR_2
std::vector< double > * t_cHadronEne25x25
std::vector< double > * t_photonEneHC5x5
std::vector< double > * t_cHadronEneHC1x1_2
std::vector< double > * t_L1IsoEMEta
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:17
std::vector< double > * t_muEneIsoHCR
std::vector< double > * t_eleEne11x11
IsolatedGenParticles(const edm::ParameterSet &)
std::vector< double > * t_cHadronEneR
std::vector< double > * t_eleEne3x3
std::vector< double > * t_L1IsoEMPt
std::vector< double > * t_cHadronEne3x3_2
edm::InputTag L1GTReadoutRcdSource_
Geom::Phi< T > phi() const
Definition: PV3DBase.h:68
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
std::vector< double > * t_cHadronEneHC3x3_2
std::vector< double > * t_photonEne1x1
std::vector< double > * t_cHadronEne1x1_2
std::vector< double > * t_nHadronEneR
std::vector< double > * t_cHadronEneIsoR_3
std::vector< double > * t_maxNearP11x11
std::vector< double > * t_maxNearPHC7x7
spr::genSimInfo isoinfoHC3x3
#define abs(x)
Definition: mlp_lapack.h:159
std::vector< double > * t_cHadronEneHC5x5_2
std::vector< double > * t_photonEneHCR
std::vector< double > * t_L1METEta
edm::InputTag L1extraNonIsoEmSource_
std::vector< double > * t_muEneIsoR
std::vector< double > * t_nHadronEne9x9
std::vector< double > * t_L1MuonEta
std::vector< double > * t_isoTrkPdgIdAll
edm::Service< TFileService > fs
std::vector< double > * t_muEneHC7x7
std::vector< double > * t_cHadronEne31x31
std::vector< double > * t_nHadronEneIsoHCR
edm::InputTag L1extraTauJetSource_
std::vector< double > * t_L1FwdJetPt
std::vector< double > * t_cHadronEne31x31_1
std::vector< double > * t_photonEneHC3x3
std::vector< double > * t_cHadronEneIsoHCR_1
T eta() const
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:22
std::vector< double > * t_muEneR
std::vector< double > * t_muEne9x9
double charge(const std::vector< uint8_t > &Ampls)
std::vector< double > * t_muEne21x21
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< double > * t_maxNearP7x7
void getData(T &iHolder) const
Definition: EventSetup.h:67
spr::genSimInfo isoinfoHC7x7
std::vector< double > * t_muEneHC1x1
std::vector< double > * t_photonEneHC7x7
const Double_t pi
std::vector< double > * t_maxNearPIsoHCR
double cHadronEne
Definition: GenSimInfo.h:45
std::vector< double > * t_L1TauJetEta
std::vector< double > * t_cHadronEneHC5x5
double nHadronEne
Definition: GenSimInfo.h:45
std::vector< double > * t_cHadronEne31x31_2
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:30
std::vector< double > * t_isoTrkPAll
std::vector< double > * t_nHadronEneHC1x1
spr::genSimInfo isoinfo11x11
std::vector< double > * t_eleEneIsoHCR
std::vector< double > * t_eleEneHC5x5
std::vector< double > * t_cHadronEneIsoHCR
std::vector< double > * t_muEneHCR
int iEvent
Definition: GenABIO.cc:243
std::vector< double > * t_cHadronEne7x7_1
std::vector< double > * t_maxNearP25x25
std::vector< double > * t_cHadronEne3x3_3
std::vector< double > * t_cHadronEneHC7x7_1
std::vector< double > * t_cHadronEneHC5x5_1
std::vector< double > * t_eleEne25x25
std::vector< double > * t_eleEne9x9
std::vector< double > * t_eleEne1x1
std::vector< double > * t_muEne11x11
std::vector< double > * t_eleEneHCR
std::vector< double > * t_muEne7x7
spr::genSimInfo isoinfoHC5x5
std::vector< double > * t_cHadronEneHC1x1
std::vector< bool > DecisionWord
typedefs
edm::InputTag L1GTObjectMapRcdSource_
std::vector< double > * t_cHadronEneR_3
edm::InputTag L1extraCenJetSource_
std::vector< double > * t_cHadronEne11x11_1
T sqrt(T t)
Definition: SSEVec.h:46
std::vector< double > * t_muEne1x1
std::vector< double > * t_cHadronEne15x15_1
std::vector< double > * t_cHadronEneIsoHCR_3
std::vector< double > * t_cHadronEneIsoR
spr::genSimInfo isoinfoHC1x1
std::vector< double > * t_eleEneHC3x3
std::vector< double > * t_isoTrkDEtaAll
std::vector< double > * t_muEne25x25
std::vector< double > * t_cHadronEne9x9_3
std::vector< double > * t_L1NonIsoEMPt
double DeltaR2(double eta1, double phi1, double eta2, double phi2)
std::vector< double > * t_photonEne25x25
std::vector< double > * t_maxNearP21x21
std::vector< double > * t_maxNearP31x31
std::vector< double > * t_muEneHC3x3
void eGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, spr::genSimInfo &info, bool debug=false)
Definition: GenSimInfo.cc:11
std::vector< double > * t_cHadronEneHC3x3
std::vector< double > * t_cHadronEne11x11
spr::genSimInfo isoinfoIsoHCR
std::vector< double > * t_cHadronEne25x25_3
std::vector< double > * t_cHadronEneHCR_3
std::vector< double > * t_L1CenJetPt
spr::genSimInfo isoinfo15x15
std::vector< double > * t_maxNearPHC5x5
std::vector< double > * t_cHadronEneHCR_2
std::vector< double > * t_cHadronEne11x11_3
std::vector< double > * t_cHadronEneHCR
std::vector< double > * t_cHadronEne1x1
std::vector< double > * t_isoTrkDPhiAll
std::vector< double > * t_photonEneIsoHCR
bool isValid() const
Definition: HandleBase.h:76
std::vector< double > * t_nHadronEne31x31
std::vector< double > * t_maxNearP3x3
std::vector< double > * t_cHadronEne1x1_1
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:356
std::vector< double > * t_cHadronEne21x21_1
std::vector< double > * t_isoTrkPhiEC
std::vector< double > * t_cHadronEne11x11_2
std::vector< double > * t_L1CenJetPhi
JetCorrectorParameters corr
Definition: classes.h:9
std::vector< double > * t_maxNearP1x1
std::vector< double > * t_maxNearPHC3x3
double DeltaPhi(double v1, double v2)
std::vector< double > * t_nHadronEneHCR
std::vector< double > * t_eleEneR
std::vector< double > * t_cHadronEneIsoR_2
std::vector< double > * t_cHadronEne9x9_1
std::vector< double > * t_eleEneIsoR
std::vector< double > * t_cHadronEneR_2
std::vector< double > * t_isoTrkPhiAll
void fillTrack(GlobalPoint &posVec, math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId, bool okECAL, bool accpet)
std::vector< double > * t_photonEneHC1x1
std::vector< double > * t_L1FwdJetEta
std::vector< double > * t_maxNearPR
std::vector< double > * t_muEne31x31
void fillIsolatedTrack(math::XYZTLorentzVector &momVec, GlobalPoint &posECAL, int pdgId)
std::vector< double > * t_isoTrkPtAll
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
double genPartEtaBins[NEtaBins+1]
edm::InputTag L1extraFwdJetSource_
std::vector< double > * t_isoTrkP
std::vector< double > * t_nHadronEne11x11
std::vector< double > * t_nHadronEneIsoR
std::vector< double > * t_L1NonIsoEMPhi
std::vector< double > * t_eleEne21x21
std::vector< double > * t_maxNearPHC1x1
std::vector< double > * t_cHadronEne9x9_2
std::vector< double > * t_cHadronEne31x31_3
const T & get() const
Definition: EventSetup.h:55
std::vector< double > * t_maxNearP9x9
std::vector< double > * t_photonEne31x31
std::vector< double > * t_nHadronEneHC3x3
std::vector< double > * t_cHadronEne15x15_2
std::vector< double > * t_photonEne15x15
T const * product() const
Definition: ESHandle.h:62
std::vector< double > * t_L1NonIsoEMEta
std::vector< double > * t_isoTrkPhi
std::vector< double > * t_nHadronEne15x15
std::vector< double > * t_cHadronEneHC1x1_1
std::vector< double > * t_photonEneR
std::vector< double > * t_isoTrkEtaEC
std::vector< double > * t_nHadronEne1x1
std::vector< double > * t_cHadronEne3x3
std::vector< double > * t_cHadronEne25x25_2
const MagneticField * bField
std::vector< double > * t_L1IsoEMPhi
std::vector< double > * t_cHadronEneHC5x5_3
T eta() const
Definition: PV3DBase.h:75
edm::EventID id() const
Definition: EventBase.h:56
std::vector< double > * t_photonEne9x9
std::vector< double > * t_L1METPhi
std::vector< double > * t_nHadronEne25x25
std::vector< double > * t_photonEne3x3
std::vector< double > * t_cHadronEneHC3x3_3
edm::InputTag L1extraMuonSource_
std::vector< double > * t_eleEneHC1x1
T * make() const
make new ROOT object
std::vector< double > * t_photonEne11x11
void hGenSimInfo(const DetId &coreDet, HepMC::GenEvent::particle_const_iterator trkItr, std::vector< spr::propagatedGenTrackID > &trackIds, const HcalTopology *topology, int ieta, int iphi, spr::genSimInfo &info, bool includeHO=false, bool debug=false)
Definition: GenSimInfo.cc:47
tuple cout
Definition: gather_cfg.py:121
std::vector< double > * t_muEne3x3
double genPartPBins[NPBins+1]
std::vector< double > * t_cHadronEne9x9
std::vector< double > * t_muEne15x15
std::vector< double > * t_cHadronEne21x21_2
std::vector< double > * t_cHadronEne3x3_1
std::vector< double > * t_cHadronEneHC3x3_1
std::vector< double > * t_cHadronEne25x25_1
std::vector< double > * t_cHadronEne15x15
edm::InputTag L1extraIsoEmSource_
std::vector< double > * t_cHadronEne21x21
std::vector< double > * t_L1METPt
std::vector< double > * t_muEneHC5x5
std::vector< double > * t_cHadronEneR_1
std::vector< double > * t_cHadronEne21x21_3
std::vector< double > * t_L1MuonPhi
double maxNearP
Definition: GenSimInfo.h:44
std::vector< double > * t_cHadronEne7x7_3
double DeltaR(double eta1, double phi1, double eta2, double phi2)
std::vector< double > * t_photonEneIsoR
std::vector< double > * t_cHadronEne7x7
std::vector< double > * t_eleEne15x15
std::vector< double > * t_maxNearPIsoR
std::vector< double > * t_nHadronEne3x3
std::vector< double > * t_nHadronEneHC5x5
std::vector< double > * t_isoTrkEne
std::vector< double > * t_cHadronEne1x1_3
Definition: DDAxes.h:10