CMS 3D CMS Logo

IsolatedTracksHcalScale.cc
Go to the documentation of this file.
1 // System include files
2 #include <cmath>
3 #include <string>
4 #include <map>
5 #include <vector>
6 
7 // root objects
8 #include "TROOT.h"
9 #include "TSystem.h"
10 #include "TFile.h"
11 #include "TH1F.h"
12 #include "TH2F.h"
13 #include "TProfile.h"
14 #include "TDirectory.h"
15 #include "TTree.h"
16 
17 #include <Math/GenVector/VectorUtil.h>
18 
29 
31 
36 
37 // muons and tracks
42 // Vertices
46 // Calorimeters
55 
56 // Jets in the event
60 
68 
69 // TFile Service
72 
80 
86 
87 // SimHit
93 
94 // track associator
99 
100 class IsolatedTracksHcalScale : public edm::one::EDAnalyzer<edm::one::SharedResources> {
101 public:
102  explicit IsolatedTracksHcalScale(const edm::ParameterSet &);
104 
105  static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
106 
107 private:
108  void beginJob() override;
109  void analyze(const edm::Event &, const edm::EventSetup &) override;
110  void endJob() override;
111 
112  void clearTreeVectors();
113 
114 private:
115  bool doMC_;
120  double tMinE_, tMaxE_;
121 
123 
130 
136 
138 
139  TTree *tree_;
140 
142  std::vector<double> *t_trackP, *t_trackPt, *t_trackEta, *t_trackPhi;
143  std::vector<double> *t_trackHcalEta, *t_trackHcalPhi, *t_eHCALDR;
144  std::vector<double> *t_hCone, *t_conehmaxNearP, *t_eMipDR, *t_eECALDR;
145  std::vector<double> *t_e11x11_20Sig, *t_e15x15_20Sig;
146  std::vector<double> *t_eMipDR_1, *t_eECALDR_1, *t_eMipDR_2, *t_eECALDR_2;
147  std::vector<double> *t_hConeHB, *t_eHCALDRHB;
150  std::vector<double> *t_hsimInfoTotal, *t_hsim;
153  std::vector<int> *t_nSimHits;
154 };
155 
157  : doMC_(iConfig.getUntrackedParameter<bool>("DoMC", false)),
158  myverbose_(iConfig.getUntrackedParameter<int>("Verbosity", 5)),
159  theTrackQuality_(iConfig.getUntrackedParameter<std::string>("TrackQuality", "highPurity")),
160  a_mipR_(iConfig.getUntrackedParameter<double>("ConeRadiusMIP", 14.0)),
161  a_coneR_(iConfig.getUntrackedParameter<double>("ConeRadius", 34.98)),
162  tMinE_(iConfig.getUntrackedParameter<double>("TimeMinCutECAL", -500.)),
163  tMaxE_(iConfig.getUntrackedParameter<double>("TimeMaxCutECAL", 500.)),
164  trackerHitAssociatorConfig_(consumesCollector()) {
165  usesResource(TFileService::kSharedResource);
166 
167  //now do what ever initialization is needed
169  selectionParameters_.minPt = iConfig.getUntrackedParameter<double>("MinTrackPt", 10.0);
171  selectionParameters_.maxDxyPV = iConfig.getUntrackedParameter<double>("MaxDxyPV", 0.2);
172  selectionParameters_.maxDzPV = iConfig.getUntrackedParameter<double>("MaxDzPV", 5.0);
173  selectionParameters_.maxChi2 = iConfig.getUntrackedParameter<double>("MaxChi2", 5.0);
174  selectionParameters_.maxDpOverP = iConfig.getUntrackedParameter<double>("MaxDpOverP", 0.1);
175  selectionParameters_.minOuterHit = iConfig.getUntrackedParameter<int>("MinOuterHit", 4);
176  selectionParameters_.minLayerCrossed = iConfig.getUntrackedParameter<int>("MinLayerCrossed", 8);
177  selectionParameters_.maxInMiss = iConfig.getUntrackedParameter<int>("MaxInMiss", 0);
178  selectionParameters_.maxOutMiss = iConfig.getUntrackedParameter<int>("MaxOutMiss", 0);
179  a_charIsoR_ = a_coneR_ + 28.9;
180  a_neutIsoR_ = a_charIsoR_ * 0.726;
181 
182  tok_genTrack_ = consumes<reco::TrackCollection>(edm::InputTag("generalTracks"));
183  tok_recVtx_ = consumes<reco::VertexCollection>(edm::InputTag("offlinePrimaryVertices"));
184  tok_bs_ = consumes<reco::BeamSpot>(edm::InputTag("offlineBeamSpot"));
185  tok_EB_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
186  tok_EE_ = consumes<EcalRecHitCollection>(edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
187  tok_hbhe_ = consumes<HBHERecHitCollection>(edm::InputTag("hbhereco"));
188  tok_simTk_ = consumes<edm::SimTrackContainer>(edm::InputTag("g4SimHits"));
189  tok_simVtx_ = consumes<edm::SimVertexContainer>(edm::InputTag("g4SimHits"));
190  tok_caloEB_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEB"));
191  tok_caloEE_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "EcalHitsEE"));
192  tok_caloHH_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits", "HcalHits"));
193 
194  if (myverbose_ >= 0) {
195  edm::LogVerbatim("IsoTrack") << "Parameters read from config file \n"
196  << " doMC " << doMC_ << "\t myverbose " << myverbose_ << "\t minPt "
197  << selectionParameters_.minPt << "\t theTrackQuality " << theTrackQuality_
198  << "\t minQuality " << selectionParameters_.minQuality << "\t maxDxyPV "
200  << "\t maxChi2 " << selectionParameters_.maxChi2 << "\t maxDpOverP "
201  << selectionParameters_.maxDpOverP << "\t minOuterHit "
202  << selectionParameters_.minOuterHit << "\t minLayerCrossed "
203  << selectionParameters_.minLayerCrossed << "\t maxInMiss "
204  << selectionParameters_.maxInMiss << "\t maxOutMiss "
205  << selectionParameters_.maxOutMiss << "\t a_coneR " << a_coneR_ << "\t a_charIsoR "
206  << a_charIsoR_ << "\t a_neutIsoR " << a_neutIsoR_ << "\t a_mipR " << a_mipR_
207  << "\t time Range (" << tMinE_ << ":" << tMaxE_ << ")";
208  }
209 }
210 
213  desc.addUntracked<bool>("doMC", false);
214  desc.addUntracked<int>("Verbosity", 0);
215  desc.addUntracked<std::string>("TrackQuality", "highPurity");
216  desc.addUntracked<double>("MinTrackPt", 10.0);
217  desc.addUntracked<double>("MaxDxyPV", 0.02);
218  desc.addUntracked<double>("MaxDzPV", 0.02);
219  desc.addUntracked<double>("MaxChi2", 5.0);
220  desc.addUntracked<double>("MaxDpOverP", 0.1);
221  desc.addUntracked<int>("MinOuterHit", 4);
222  desc.addUntracked<int>("MinLayerCrossed", 8);
223  desc.addUntracked<int>("MaxInMiss", 0);
224  desc.addUntracked<int>("MaxOutMiss", 0);
225  desc.addUntracked<double>("ConeRadius", 34.98);
226  desc.addUntracked<double>("ConeRadiusMIP", 14.0);
227  desc.addUntracked<double>("TimeMinCutECAL", -500.0);
228  desc.addUntracked<double>("TimeMaxCutECAL", 500.0);
229  descriptions.add("isolatedTracksHcalScale", desc);
230 }
231 
234  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
235  const MagneticField *bField = bFieldH.product();
236 
237  // get handles to calogeometry and calotopology
239  iSetup.get<CaloGeometryRecord>().get(pG);
240  const CaloGeometry *geo = pG.product();
241 
242  edm::ESHandle<CaloTopology> theCaloTopology;
243  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
244  const CaloTopology *caloTopology = theCaloTopology.product();
245 
246  // Retrieve the good/bad ECAL channels from the DB
248  iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus);
249  const EcalChannelStatus *theEcalChStatus = ecalChStatus.product();
250 
252 
253  ++nEventProc_;
254 
255  t_RunNo = iEvent.id().run();
256  t_EvtNo = iEvent.id().event();
257  t_Lumi = iEvent.luminosityBlock();
258  t_Bunch = iEvent.bunchCrossing();
259  if (myverbose_ > 0)
260  edm::LogVerbatim("IsoTrack") << nEventProc_ << " Run " << t_RunNo << " Event " << t_EvtNo << " Lumi " << t_Lumi
261  << " Bunch " << t_Bunch;
262 
264  iEvent.getByToken(tok_genTrack_, trkCollection);
265 
267  iEvent.getByToken(tok_recVtx_, recVtxs);
268 
269  // Get the beamspot
270  edm::Handle<reco::BeamSpot> beamSpotH;
271  iEvent.getByToken(tok_bs_, beamSpotH);
272 
273  math::XYZPoint leadPV(0, 0, 0);
274  if (!recVtxs->empty() && !((*recVtxs)[0].isFake())) {
275  leadPV = math::XYZPoint((*recVtxs)[0].x(), (*recVtxs)[0].y(), (*recVtxs)[0].z());
276  } else if (beamSpotH.isValid()) {
277  leadPV = beamSpotH->position();
278  }
279 
280  if (myverbose_ > 0) {
281  edm::LogVerbatim("IsoTrack") << "Primary Vertex " << leadPV;
282  if (beamSpotH.isValid())
283  edm::LogVerbatim("IsoTrack") << "Beam Spot " << beamSpotH->position();
284  }
285 
286  std::vector<spr::propagatedTrackDirection> trkCaloDirections;
287  spr::propagateCALO(trkCollection, geo, bField, theTrackQuality_, trkCaloDirections, (myverbose_ > 2));
288  std::vector<spr::propagatedTrackDirection>::const_iterator trkDetItr;
289 
290  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
291  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
292  iEvent.getByToken(tok_EB_, barrelRecHitsHandle);
293  iEvent.getByToken(tok_EE_, endcapRecHitsHandle);
294 
296  iEvent.getByToken(tok_hbhe_, hbhe);
297  const HBHERecHitCollection Hithbhe = *(hbhe.product());
298 
299  //get Handles to SimTracks and SimHits
302 
303  //get Handles to PCaloHitContainers of eb/ee/hbhe
307 
308  //associates tracker rechits/simhits to a track
309  std::unique_ptr<TrackerHitAssociator> associate;
310 
311  if (doMC_) {
312  iEvent.getByToken(tok_simTk_, SimTk);
313  iEvent.getByToken(tok_simVtx_, SimVtx);
314  iEvent.getByToken(tok_caloEB_, pcaloeb);
315  iEvent.getByToken(tok_caloEE_, pcaloee);
316  iEvent.getByToken(tok_caloHH_, pcalohh);
318  }
319 
320  unsigned int nTracks = 0;
321  for (trkDetItr = trkCaloDirections.begin(), nTracks = 0; trkDetItr != trkCaloDirections.end();
322  trkDetItr++, nTracks++) {
323  const reco::Track *pTrack = &(*(trkDetItr->trkItr));
324  if (spr::goodTrack(pTrack, leadPV, selectionParameters_, (myverbose_ > 2)) && trkDetItr->okECAL &&
325  trkDetItr->okHCAL) {
326  int nRH_eMipDR = 0, nRH_eDR = 0, nNearTRKs = 0, nRecHitsCone = -99;
327  double distFromHotCell = -99.0, distFromHotCell2 = -99.0;
328  int ietaHotCell = -99, iphiHotCell = -99;
329  int ietaHotCell2 = -99, iphiHotCell2 = -99;
330  GlobalPoint gposHotCell(0., 0., 0.), gposHotCell2(0., 0., 0.);
331  std::vector<DetId> coneRecHitDetIds, coneRecHitDetIds2;
332  std::pair<double, bool> e11x11_20SigP, e15x15_20SigP;
333  double hCone = spr::eCone_hcal(geo,
334  hbhe,
335  trkDetItr->pointHCAL,
336  trkDetItr->pointECAL,
337  a_coneR_,
338  trkDetItr->directionHCAL,
339  nRecHitsCone,
340  coneRecHitDetIds,
341  distFromHotCell,
342  ietaHotCell,
343  iphiHotCell,
344  gposHotCell,
345  -1);
346  double hConeHB = spr::eCone_hcal(geo,
347  hbhe,
348  trkDetItr->pointHCAL,
349  trkDetItr->pointECAL,
350  a_coneR_,
351  trkDetItr->directionHCAL,
352  nRecHitsCone,
353  coneRecHitDetIds,
354  distFromHotCell,
355  ietaHotCell,
356  iphiHotCell,
357  gposHotCell,
358  (int)(HcalBarrel));
359  double eHCALDR = spr::eCone_hcal(geo,
360  hbhe,
361  trkDetItr->pointHCAL,
362  trkDetItr->pointECAL,
363  a_charIsoR_,
364  trkDetItr->directionHCAL,
365  nRecHitsCone,
366  coneRecHitDetIds2,
367  distFromHotCell2,
368  ietaHotCell2,
369  iphiHotCell2,
370  gposHotCell2,
371  -1);
372  double eHCALDRHB = spr::eCone_hcal(geo,
373  hbhe,
374  trkDetItr->pointHCAL,
375  trkDetItr->pointECAL,
376  a_charIsoR_,
377  trkDetItr->directionHCAL,
378  nRecHitsCone,
379  coneRecHitDetIds2,
380  distFromHotCell2,
381  ietaHotCell2,
382  iphiHotCell2,
383  gposHotCell2,
384  (int)(HcalBarrel));
385 
386  double conehmaxNearP =
387  spr::chargeIsolationCone(nTracks, trkCaloDirections, a_charIsoR_, nNearTRKs, (myverbose_ > 3));
388 
389  double eMipDR = spr::eCone_ecal(geo,
390  barrelRecHitsHandle,
391  endcapRecHitsHandle,
392  trkDetItr->pointHCAL,
393  trkDetItr->pointECAL,
394  a_mipR_,
395  trkDetItr->directionECAL,
396  nRH_eMipDR);
397  double eECALDR = spr::eCone_ecal(geo,
398  barrelRecHitsHandle,
399  endcapRecHitsHandle,
400  trkDetItr->pointHCAL,
401  trkDetItr->pointECAL,
402  a_neutIsoR_,
403  trkDetItr->directionECAL,
404  nRH_eDR);
405  double eMipDR_1 = spr::eCone_ecal(geo,
406  barrelRecHitsHandle,
407  endcapRecHitsHandle,
408  trkDetItr->pointHCAL,
409  trkDetItr->pointECAL,
410  a_mipR_,
411  trkDetItr->directionECAL,
412  nRH_eMipDR,
413  0.030,
414  0.150);
415  double eECALDR_1 = spr::eCone_ecal(geo,
416  barrelRecHitsHandle,
417  endcapRecHitsHandle,
418  trkDetItr->pointHCAL,
419  trkDetItr->pointECAL,
420  a_neutIsoR_,
421  trkDetItr->directionECAL,
422  nRH_eDR,
423  0.030,
424  0.150);
425  double eMipDR_2 = spr::eCone_ecal(geo,
426  barrelRecHitsHandle,
427  endcapRecHitsHandle,
428  trkDetItr->pointHCAL,
429  trkDetItr->pointECAL,
430  a_mipR_,
431  trkDetItr->directionECAL,
432  nRH_eMipDR,
433  0.060,
434  0.300);
435  double eECALDR_2 = spr::eCone_ecal(geo,
436  barrelRecHitsHandle,
437  endcapRecHitsHandle,
438  trkDetItr->pointHCAL,
439  trkDetItr->pointECAL,
440  a_neutIsoR_,
441  trkDetItr->directionECAL,
442  nRH_eDR,
443  0.060,
444  0.300);
445 
446  HcalDetId closestCell = (HcalDetId)(trkDetItr->detIdHCAL);
447 
449  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
450 
451  e11x11_20SigP = spr::eECALmatrix(trkDetItr->detIdECAL,
452  barrelRecHitsHandle,
453  endcapRecHitsHandle,
454  *theEcalChStatus,
455  geo,
456  caloTopology,
457  sevlv.product(),
458  5,
459  5,
460  0.060,
461  0.300,
462  tMinE_,
463  tMaxE_);
464  e15x15_20SigP = spr::eECALmatrix(trkDetItr->detIdECAL,
465  barrelRecHitsHandle,
466  endcapRecHitsHandle,
467  *theEcalChStatus,
468  geo,
469  caloTopology,
470  sevlv.product(),
471  7,
472  7,
473  0.060,
474  0.300,
475  tMinE_,
476  tMaxE_);
477 
478  // Fill the tree Branches here
479  t_trackP->push_back(pTrack->p());
480  t_trackPt->push_back(pTrack->pt());
481  t_trackEta->push_back(pTrack->momentum().eta());
482  t_trackPhi->push_back(pTrack->momentum().phi());
483  t_trackHcalEta->push_back(closestCell.ieta());
484  t_trackHcalPhi->push_back(closestCell.iphi());
485  t_hCone->push_back(hCone);
486  t_conehmaxNearP->push_back(conehmaxNearP);
487  t_eMipDR->push_back(eMipDR);
488  t_eECALDR->push_back(eECALDR);
489  t_eHCALDR->push_back(eHCALDR);
490  t_e11x11_20Sig->push_back(e11x11_20SigP.first);
491  t_e15x15_20Sig->push_back(e15x15_20SigP.first);
492  t_eMipDR_1->push_back(eMipDR_1);
493  t_eECALDR_1->push_back(eECALDR_1);
494  t_eMipDR_2->push_back(eMipDR_2);
495  t_eECALDR_2->push_back(eECALDR_2);
496  t_hConeHB->push_back(hConeHB);
497  t_eHCALDRHB->push_back(eHCALDRHB);
498 
499  if (myverbose_ > 0) {
500  edm::LogVerbatim("IsoTrack") << "Track p " << pTrack->p() << " pt " << pTrack->pt() << " eta "
501  << pTrack->momentum().eta() << " phi " << pTrack->momentum().phi()
502  << " ieta/iphi (" << closestCell.ieta() << ", " << closestCell.iphi()
503  << ") Energy in cone " << hCone << " Charge Isolation " << conehmaxNearP
504  << " eMIP (" << eMipDR << ", " << eMipDR_1 << ", " << eMipDR_2 << ")"
505  << " Neutral isolation (ECAL) (" << eECALDR - eMipDR << ", "
506  << eECALDR_1 - eMipDR_1 << ", " << eECALDR_2 - eMipDR_2 << ") (ECAL NxN) "
507  << e15x15_20SigP.first - e11x11_20SigP.first << " (HCAL) " << eHCALDR - hCone;
508  }
509 
510  if (doMC_) {
511  int nSimHits = -999;
512  double hsim;
513  std::map<std::string, double> hsimInfo;
514  std::vector<int> multiplicity;
515  hsim = spr::eCone_hcal(
516  geo, pcalohh, trkDetItr->pointHCAL, trkDetItr->pointECAL, a_coneR_, trkDetItr->directionHCAL, nSimHits);
517  hsimInfo = spr::eHCALSimInfoCone(iEvent,
518  pcalohh,
519  SimTk,
520  SimVtx,
521  pTrack,
522  *associate,
523  geo,
524  trkDetItr->pointHCAL,
525  trkDetItr->pointECAL,
526  a_coneR_,
527  trkDetItr->directionHCAL,
528  multiplicity);
529 
530  t_hsimInfoMatched->push_back(hsimInfo["eMatched"]);
531  t_hsimInfoRest->push_back(hsimInfo["eRest"]);
532  t_hsimInfoPhoton->push_back(hsimInfo["eGamma"]);
533  t_hsimInfoNeutHad->push_back(hsimInfo["eNeutralHad"]);
534  t_hsimInfoCharHad->push_back(hsimInfo["eChargedHad"]);
535  t_hsimInfoPdgMatched->push_back(hsimInfo["pdgMatched"]);
536  t_hsimInfoTotal->push_back(hsimInfo["eTotal"]);
537 
538  t_hsimInfoNMatched->push_back(multiplicity.at(0));
539  t_hsimInfoNTotal->push_back(multiplicity.at(1));
540  t_hsimInfoNNeutHad->push_back(multiplicity.at(2));
541  t_hsimInfoNCharHad->push_back(multiplicity.at(3));
542  t_hsimInfoNPhoton->push_back(multiplicity.at(4));
543  t_hsimInfoNRest->push_back(multiplicity.at(5));
544 
545  t_hsim->push_back(hsim);
546  t_nSimHits->push_back(nSimHits);
547 
548  if (myverbose_ > 0) {
549  edm::LogVerbatim("IsoTrack") << "Matched (E) " << hsimInfo["eMatched"] << " (N) " << multiplicity.at(0)
550  << " Rest (E) " << hsimInfo["eRest"] << " (N) " << multiplicity.at(1)
551  << " Gamma (E) " << hsimInfo["eGamma"] << " (N) " << multiplicity.at(2)
552  << " Neutral Had (E) " << hsimInfo["eNeutralHad"] << " (N) "
553  << multiplicity.at(3) << " Charged Had (E) " << hsimInfo["eChargedHad"]
554  << " (N) " << multiplicity.at(4) << " Total (E) " << hsimInfo["eTotal"]
555  << " (N) " << multiplicity.at(5) << " PDG " << hsimInfo["pdgMatched"]
556  << " Total E " << hsim << " NHit " << nSimHits;
557  }
558  }
559  }
560  }
561 
562  tree_->Fill();
563 }
564 
566  nEventProc_ = 0;
568 
570  tree_ = fs->make<TTree>("tree", "tree");
571  tree_->SetAutoSave(10000);
572 
573  tree_->Branch("t_RunNo", &t_RunNo, "t_RunNo/I");
574  tree_->Branch("t_Lumi", &t_Lumi, "t_Lumi/I");
575  tree_->Branch("t_Bunch", &t_Bunch, "t_Bunch/I");
576 
577  t_trackP = new std::vector<double>();
578  t_trackPt = new std::vector<double>();
579  t_trackEta = new std::vector<double>();
580  t_trackPhi = new std::vector<double>();
581  t_trackHcalEta = new std::vector<double>();
582  t_trackHcalPhi = new std::vector<double>();
583  t_hCone = new std::vector<double>();
584  t_conehmaxNearP = new std::vector<double>();
585  t_eMipDR = new std::vector<double>();
586  t_eECALDR = new std::vector<double>();
587  t_eHCALDR = new std::vector<double>();
588  t_e11x11_20Sig = new std::vector<double>();
589  t_e15x15_20Sig = new std::vector<double>();
590  t_eMipDR_1 = new std::vector<double>();
591  t_eECALDR_1 = new std::vector<double>();
592  t_eMipDR_2 = new std::vector<double>();
593  t_eECALDR_2 = new std::vector<double>();
594  t_hConeHB = new std::vector<double>();
595  t_eHCALDRHB = new std::vector<double>();
596 
597  tree_->Branch("t_trackP", "std::vector<double>", &t_trackP);
598  tree_->Branch("t_trackPt", "std::vector<double>", &t_trackPt);
599  tree_->Branch("t_trackEta", "std::vector<double>", &t_trackEta);
600  tree_->Branch("t_trackPhi", "std::vector<double>", &t_trackPhi);
601  tree_->Branch("t_trackHcalEta", "std::vector<double>", &t_trackHcalEta);
602  tree_->Branch("t_trackHcalPhi", "std::vector<double>", &t_trackHcalPhi);
603  tree_->Branch("t_hCone", "std::vector<double>", &t_hCone);
604  tree_->Branch("t_conehmaxNearP", "std::vector<double>", &t_conehmaxNearP);
605  tree_->Branch("t_eMipDR", "std::vector<double>", &t_eMipDR);
606  tree_->Branch("t_eECALDR", "std::vector<double>", &t_eECALDR);
607  tree_->Branch("t_eHCALDR", "std::vector<double>", &t_eHCALDR);
608  tree_->Branch("t_e11x11_20Sig", "std::vector<double>", &t_e11x11_20Sig);
609  tree_->Branch("t_e15x15_20Sig", "std::vector<double>", &t_e15x15_20Sig);
610  tree_->Branch("t_eMipDR_1", "std::vector<double>", &t_eMipDR_1);
611  tree_->Branch("t_eECALDR_1", "std::vector<double>", &t_eECALDR_1);
612  tree_->Branch("t_eMipDR_2", "std::vector<double>", &t_eMipDR_2);
613  tree_->Branch("t_eECALDR_2", "std::vector<double>", &t_eECALDR_2);
614  tree_->Branch("t_hConeHB", "std::vector<double>", &t_hConeHB);
615  tree_->Branch("t_eHCALDRHB", "std::vector<double>", &t_eHCALDRHB);
616 
617  if (doMC_) {
618  t_hsimInfoMatched = new std::vector<double>();
619  t_hsimInfoRest = new std::vector<double>();
620  t_hsimInfoPhoton = new std::vector<double>();
621  t_hsimInfoNeutHad = new std::vector<double>();
622  t_hsimInfoCharHad = new std::vector<double>();
623  t_hsimInfoPdgMatched = new std::vector<double>();
624  t_hsimInfoTotal = new std::vector<double>();
625  t_hsimInfoNMatched = new std::vector<int>();
626  t_hsimInfoNTotal = new std::vector<int>();
627  t_hsimInfoNNeutHad = new std::vector<int>();
628  t_hsimInfoNCharHad = new std::vector<int>();
629  t_hsimInfoNPhoton = new std::vector<int>();
630  t_hsimInfoNRest = new std::vector<int>();
631  t_hsim = new std::vector<double>();
632  t_nSimHits = new std::vector<int>();
633 
634  tree_->Branch("t_hsimInfoMatched", "std::vector<double>", &t_hsimInfoMatched);
635  tree_->Branch("t_hsimInfoRest", "std::vector<double>", &t_hsimInfoRest);
636  tree_->Branch("t_hsimInfoPhoton", "std::vector<double>", &t_hsimInfoPhoton);
637  tree_->Branch("t_hsimInfoNeutHad", "std::vector<double>", &t_hsimInfoNeutHad);
638  tree_->Branch("t_hsimInfoCharHad", "std::vector<double>", &t_hsimInfoCharHad);
639  tree_->Branch("t_hsimInfoPdgMatched", "std::vector<double>", &t_hsimInfoPdgMatched);
640  tree_->Branch("t_hsimInfoTotal", "std::vector<double>", &t_hsimInfoTotal);
641  tree_->Branch("t_hsimInfoNMatched", "std::vector<int>", &t_hsimInfoNMatched);
642  tree_->Branch("t_hsimInfoNTotal", "std::vector<int>", &t_hsimInfoNTotal);
643  tree_->Branch("t_hsimInfoNNeutHad", "std::vector<int>", &t_hsimInfoNNeutHad);
644  tree_->Branch("t_hsimInfoNCharHad", "std::vector<int>", &t_hsimInfoNCharHad);
645  tree_->Branch("t_hsimInfoNPhoton", "std::vector<int>", &t_hsimInfoNPhoton);
646  tree_->Branch("t_hsimInfoNRest", "std::vector<int>", &t_hsimInfoNRest);
647  tree_->Branch("t_hsim", "std::vector<double>", &t_hsim);
648  tree_->Branch("t_nSimHits", "std::vector<int>", &t_nSimHits);
649  }
650 }
651 
652 void IsolatedTracksHcalScale::endJob() { edm::LogVerbatim("IsoTrack") << "Number of Events Processed " << nEventProc_; }
653 
655  t_trackP->clear();
656  t_trackPt->clear();
657  t_trackEta->clear();
658  t_trackPhi->clear();
659  t_trackHcalEta->clear();
660  t_trackHcalPhi->clear();
661  t_hCone->clear();
662  t_conehmaxNearP->clear();
663  t_eMipDR->clear();
664  t_eECALDR->clear();
665  t_eHCALDR->clear();
666  t_e11x11_20Sig->clear();
667  t_e15x15_20Sig->clear();
668  t_eMipDR_1->clear();
669  t_eECALDR_1->clear();
670  t_eMipDR_2->clear();
671  t_eECALDR_2->clear();
672  t_hConeHB->clear();
673  t_eHCALDRHB->clear();
674 
675  if (doMC_) {
676  t_hsimInfoMatched->clear();
677  t_hsimInfoRest->clear();
678  t_hsimInfoPhoton->clear();
679  t_hsimInfoNeutHad->clear();
680  t_hsimInfoCharHad->clear();
681  t_hsimInfoPdgMatched->clear();
682  t_hsimInfoTotal->clear();
683  t_hsimInfoNMatched->clear();
684  t_hsimInfoNTotal->clear();
685  t_hsimInfoNNeutHad->clear();
686  t_hsimInfoNCharHad->clear();
687  t_hsimInfoNPhoton->clear();
688  t_hsimInfoNRest->clear();
689  t_hsim->clear();
690  t_nSimHits->clear();
691  }
692 }
693 
694 //define this as a plug-in
spr::trackSelectionParameters::maxDxyPV
double maxDxyPV
Definition: TrackSelection.h:22
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CaloJetCollection.h
DDAxes::y
nTracks
const unsigned int nTracks(const reco::Vertex &sv)
Definition: TemplatedVertexArbitrator.h:44
Handle.h
CaloJet.h
electrons_cff.bool
bool
Definition: electrons_cff.py:372
EDAnalyzer.h
FreeTrajectoryState.h
CaloNavigator.h
StandaloneTrackMonitor_cfi.trackQuality
trackQuality
Definition: StandaloneTrackMonitor_cfi.py:11
IsolatedTracksHcalScale::tok_simVtx_
edm::EDGetTokenT< edm::SimVertexContainer > tok_simVtx_
Definition: IsolatedTracksHcalScale.cc:132
funct::false
false
Definition: Factorize.h:34
IsolatedTracksHcalScale::tok_caloEE_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEE_
Definition: IsolatedTracksHcalScale.cc:134
IsolatedTracksHcalScale::clearTreeVectors
void clearTreeVectors()
Definition: IsolatedTracksHcalScale.cc:654
ESHandle.h
spr::trackSelectionParameters::maxDzPV
double maxDzPV
Definition: TrackSelection.h:22
IsolatedTracksHcalScale::t_hConeHB
std::vector< double > * t_hConeHB
Definition: IsolatedTracksHcalScale.cc:147
IsolatedTracksHcalScale::t_Lumi
int t_Lumi
Definition: IsolatedTracksHcalScale.cc:141
IsolatedTracksHcalScale::t_hsimInfoNPhoton
std::vector< int > * t_hsimInfoNPhoton
Definition: IsolatedTracksHcalScale.cc:152
HcalDetId::iphi
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
spr::trackSelectionParameters::maxChi2
double maxChi2
Definition: TrackSelection.h:22
reco::TrackBase::p
double p() const
momentum vector magnitude
Definition: TrackBase.h:605
TrackDetectorAssociator.h
EcalSeverityLevelAlgoRcd.h
L1GlobalTriggerReadoutSetupFwd.h
IsolatedTracksHcalScale::t_hsimInfoTotal
std::vector< double > * t_hsimInfoTotal
Definition: IsolatedTracksHcalScale.cc:150
IsolatedTracksHcalScale::theTrackQuality_
std::string theTrackQuality_
Definition: IsolatedTracksHcalScale.cc:117
edm::EDGetTokenT< reco::TrackCollection >
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
TrackBase.h
IsolatedTracksHcalScale::t_hsim
std::vector< double > * t_hsim
Definition: IsolatedTracksHcalScale.cc:150
IsolatedTracksHcalScale::t_hsimInfoNTotal
std::vector< int > * t_hsimInfoNTotal
Definition: IsolatedTracksHcalScale.cc:151
EBDetId.h
EEDetId.h
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
IsolatedTracksHcalScale::t_hsimInfoNMatched
std::vector< int > * t_hsimInfoNMatched
Definition: IsolatedTracksHcalScale.cc:151
IsolatedTracksHcalScale::doMC_
bool doMC_
Definition: IsolatedTracksHcalScale.cc:115
IsolatedTracksHcalScale::tok_caloEB_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloEB_
Definition: IsolatedTracksHcalScale.cc:133
reco::TrackBase::TrackQuality
TrackQuality
track quality
Definition: TrackBase.h:150
edm::SortedCollection
Definition: SortedCollection.h:49
TrackerHitAssociator.h
IsolatedTracksHcalScale::a_charIsoR_
double a_charIsoR_
Definition: IsolatedTracksHcalScale.cc:119
spr::goodTrack
bool goodTrack(const reco::Track *pTrack, math::XYZPoint leadPV, trackSelectionParameters parameters, bool debug=false)
Definition: TrackSelection.cc:10
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DDAxes::x
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
IsolatedTracksHcalScale::tree_
TTree * tree_
Definition: IsolatedTracksHcalScale.cc:139
HcalBarrel
Definition: HcalAssistant.h:33
IsolatedTracksHcalScale::t_nTracks
int t_nTracks
Definition: IsolatedTracksHcalScale.cc:141
TrackerHitAssociator::Config
Definition: TrackerHitAssociator.h:57
EcalCondObjectContainer< EcalChannelStatusCode >
edm::Handle< reco::TrackCollection >
CaloTopology
Definition: CaloTopology.h:19
EcalRecHitCollections.h
IsolatedTracksHcalScale::t_hsimInfoNNeutHad
std::vector< int > * t_hsimInfoNNeutHad
Definition: IsolatedTracksHcalScale.cc:151
IsolatedTracksHcalScale::t_eMipDR_2
std::vector< double > * t_eMipDR_2
Definition: IsolatedTracksHcalScale.cc:146
IsolatedTracksHcalScale::t_hCone
std::vector< double > * t_hCone
Definition: IsolatedTracksHcalScale.cc:144
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:608
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
IsolatedTracksHcalScale::t_trackEta
std::vector< double > * t_trackEta
Definition: IsolatedTracksHcalScale.cc:142
MakerMacros.h
CaloGeometry
Definition: CaloGeometry.h:21
FindCaloHit.h
Track.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
TrackFwd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
IsolatedTracksHcalScale::t_hsimInfoNeutHad
std::vector< double > * t_hsimInfoNeutHad
Definition: IsolatedTracksHcalScale.cc:149
BeamSpot.h
spr::eECALmatrix
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
IsolatedTracksHcalScale::trackerHitAssociatorConfig_
TrackerHitAssociator::Config trackerHitAssociatorConfig_
Definition: IsolatedTracksHcalScale.cc:122
Service.h
IsolatedTracksHcalScale::t_trackPt
std::vector< double > * t_trackPt
Definition: IsolatedTracksHcalScale.cc:142
ChargeIsolation.h
SimVertex.h
IsolatedTracksHcalScale::a_mipR_
double a_mipR_
Definition: IsolatedTracksHcalScale.cc:119
eHCALMatrix.h
IsolatedTracksHcalScale::t_Bunch
int t_Bunch
Definition: IsolatedTracksHcalScale.cc:141
IsolatedTracksHcalScale::tMaxE_
double tMaxE_
Definition: IsolatedTracksHcalScale.cc:120
DDAxes::z
reco::Track
Definition: Track.h:27
IdealMagneticFieldRecord.h
edm::ESHandle< MagneticField >
EcalSeverityLevelAlgoRcd
Definition: EcalSeverityLevelAlgoRcd.h:12
IsolatedTracksHcalScale::tok_EE_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
Definition: IsolatedTracksHcalScale.cc:128
IsolatedTracksHcalScale::tok_recVtx_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
Definition: IsolatedTracksHcalScale.cc:125
IsolatedTracksHcalScale::IsolatedTracksHcalScale
IsolatedTracksHcalScale(const edm::ParameterSet &)
Definition: IsolatedTracksHcalScale.cc:156
spr::trackSelectionParameters::minPt
double minPt
Definition: TrackSelection.h:20
spr::trackSelectionParameters
Definition: TrackSelection.h:12
spr::trackSelectionParameters::minOuterHit
int minOuterHit
Definition: TrackSelection.h:23
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
Point3DBase< float, GlobalTag >
eECALMatrix.h
spr::chargeIsolationCone
double chargeIsolationCone(unsigned int trkIndex, std::vector< spr::propagatedTrackDirection > &trkDirs, double dR, int &nNearTRKs, bool debug=false)
Definition: ChargeIsolation.cc:287
eCone.h
EcalSeverityLevelAlgo.h
IsolatedTracksHcalScale::t_hsimInfoNCharHad
std::vector< int > * t_hsimInfoNCharHad
Definition: IsolatedTracksHcalScale.cc:152
IsolatedTracksHcalScale::minQuality_
std::string minQuality_
Definition: IsolatedTracksHcalScale.cc:117
spr::trackSelectionParameters::maxDpOverP
double maxDpOverP
Definition: TrackSelection.h:22
IsolatedTracksHcalScale::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: IsolatedTracksHcalScale.cc:232
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
spr::trackSelectionParameters::minLayerCrossed
int minLayerCrossed
Definition: TrackSelection.h:23
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Vertex.h
IsolatedTracksHcalScale::nEventProc_
int nEventProc_
Definition: IsolatedTracksHcalScale.cc:137
TFileService.h
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
IsolatedTracksHcalScale::t_trackP
std::vector< double > * t_trackP
Definition: IsolatedTracksHcalScale.cc:142
CaloSubdetectorGeometry.h
HcalDetId::ieta
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
edm::ParameterSet
Definition: ParameterSet.h:36
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
IsolatedTracksHcalScale::t_EvtNo
int t_EvtNo
Definition: IsolatedTracksHcalScale.cc:141
Event.h
IsolatedTracksHcalScale::t_hsimInfoCharHad
std::vector< double > * t_hsimInfoCharHad
Definition: IsolatedTracksHcalScale.cc:149
IsolatedTracksHcalScale::~IsolatedTracksHcalScale
~IsolatedTracksHcalScale() override
Definition: IsolatedTracksHcalScale.cc:103
EcalChannelStatusRcd
Definition: EcalChannelStatusRcd.h:5
TrackSelection.h
HcalDetId.h
IsolatedTracksHcalScale::t_eMipDR_1
std::vector< double > * t_eMipDR_1
Definition: IsolatedTracksHcalScale.cc:146
spr::trackSelectionParameters::maxOutMiss
int maxOutMiss
Definition: TrackSelection.h:24
CaloTopologyRecord.h
MatchingSimTrack.h
IsolatedTracksHcalScale::t_conehmaxNearP
std::vector< double > * t_conehmaxNearP
Definition: IsolatedTracksHcalScale.cc:144
HcalDetId
Definition: HcalDetId.h:12
edm::Service< TFileService >
spr::eCone_hcal
double eCone_hcal(const CaloGeometry *geo, edm::Handle< T > &hits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int detOnly=-1, int useRaw=0, bool debug=false)
createfilelist.int
int
Definition: createfilelist.py:10
IsolatedTracksHcalScale
Definition: IsolatedTracksHcalScale.cc:100
iEvent
int iEvent
Definition: GenABIO.cc:224
IsolatedTracksHcalScale::t_RunNo
int t_RunNo
Definition: IsolatedTracksHcalScale.cc:141
IsolatedTracksHcalScale::selectionParameters_
spr::trackSelectionParameters selectionParameters_
Definition: IsolatedTracksHcalScale.cc:118
edm::LogVerbatim
Definition: MessageLogger.h:297
IsolatedTracksHcalScale::tok_bs_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
Definition: IsolatedTracksHcalScale.cc:126
IsolatedTracksHcalScale::t_eECALDR_1
std::vector< double > * t_eECALDR_1
Definition: IsolatedTracksHcalScale.cc:146
IsolatedTracksHcalScale::endJob
void endJob() override
Definition: IsolatedTracksHcalScale.cc:652
MagneticField.h
IsolatedTracksHcalScale::a_coneR_
double a_coneR_
Definition: IsolatedTracksHcalScale.cc:119
edm::EventSetup
Definition: EventSetup.h:57
HcalSubdetector.h
TrackAssociatorRecord.h
IsolatedTracksHcalScale::t_trackHcalPhi
std::vector< double > * t_trackHcalPhi
Definition: IsolatedTracksHcalScale.cc:143
IsolatedTracksHcalScale::t_eECALDR_2
std::vector< double > * t_eECALDR_2
Definition: IsolatedTracksHcalScale.cc:146
IsolatedTracksHcalScale::t_eHCALDR
std::vector< double > * t_eHCALDR
Definition: IsolatedTracksHcalScale.cc:143
get
#define get
HitPattern.h
spr::trackSelectionParameters::minQuality
reco::TrackBase::TrackQuality minQuality
Definition: TrackSelection.h:21
IsolatedTracksHcalScale::t_eECALDR
std::vector< double > * t_eECALDR
Definition: IsolatedTracksHcalScale.cc:144
IsolatedTracksHcalScale::t_e11x11_20Sig
std::vector< double > * t_e11x11_20Sig
Definition: IsolatedTracksHcalScale.cc:145
IsolatedTracksHcalScale::t_hsimInfoNRest
std::vector< int > * t_hsimInfoNRest
Definition: IsolatedTracksHcalScale.cc:152
IsolatedTracksHcalScale::t_hsimInfoPdgMatched
std::vector< double > * t_hsimInfoPdgMatched
Definition: IsolatedTracksHcalScale.cc:149
CaloTopology.h
photonIsolationHIProducer_cfi.hbhe
hbhe
Definition: photonIsolationHIProducer_cfi.py:8
spr::propagateCALO
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
Definition: CaloPropagateTrack.cc:141
reco::TrackBase::qualityByName
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:126
VertexFwd.h
CaloSubdetectorTopology.h
TrackerHitAssociator
Definition: TrackerHitAssociator.h:55
IsolatedTracksHcalScale::t_eMipDR
std::vector< double > * t_eMipDR
Definition: IsolatedTracksHcalScale.cc:144
HcalTopology.h
EcalTrigTowerConstituentsMap.h
CaloSimInfo.h
IsolatedTracksHcalScale::tok_caloHH_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_caloHH_
Definition: IsolatedTracksHcalScale.cc:135
std
Definition: JetResolutionObject.h:76
Ref.h
IsolatedTracksHcalScale::myverbose_
int myverbose_
Definition: IsolatedTracksHcalScale.cc:116
IsolatedTracksHcalScale::tok_EB_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
Definition: IsolatedTracksHcalScale.cc:127
JetExtendedAssociation.h
Calorimetry_cff.bField
bField
Definition: Calorimetry_cff.py:292
DetId.h
IsolatedTracksHcalScale::tok_simTk_
edm::EDGetTokenT< edm::SimTrackContainer > tok_simTk_
Definition: IsolatedTracksHcalScale.cc:131
Frameworkfwd.h
CaloPropagateTrack.h
spr::trackSelectionParameters::maxInMiss
int maxInMiss
Definition: TrackSelection.h:24
IsolatedTracksHcalScale::tMinE_
double tMinE_
Definition: IsolatedTracksHcalScale.cc:120
CaloGeometry.h
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
IsolatedTracksHcalScale::a_neutIsoR_
double a_neutIsoR_
Definition: IsolatedTracksHcalScale.cc:119
IsolatedTracksHcalScale::t_eHCALDRHB
std::vector< double > * t_eHCALDRHB
Definition: IsolatedTracksHcalScale.cc:147
IsolatedTracksHcalScale::beginJob
void beginJob() override
Definition: IsolatedTracksHcalScale.cc:565
Point3D.h
IsolatedTracksHcalScale::t_e15x15_20Sig
std::vector< double > * t_e15x15_20Sig
Definition: IsolatedTracksHcalScale.cc:145
EventSetup.h
HcalRecHitCollections.h
IsolatedTracksHcalScale::t_trackHcalEta
std::vector< double > * t_trackHcalEta
Definition: IsolatedTracksHcalScale.cc:143
PCaloHitContainer.h
Candidate.h
IsolatedTracksHcalScale::t_nSimHits
std::vector< int > * t_nSimHits
Definition: IsolatedTracksHcalScale.cc:153
IsolatedTracksHcalScale::tok_genTrack_
edm::EDGetTokenT< reco::TrackCollection > tok_genTrack_
Definition: IsolatedTracksHcalScale.cc:124
SimTrack.h
ParameterSet.h
IsolatedTracksHcalScale::t_hsimInfoRest
std::vector< double > * t_hsimInfoRest
Definition: IsolatedTracksHcalScale.cc:148
reco::TrackBase::momentum
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:635
IsolatedTracksHcalScale::t_hsimInfoPhoton
std::vector< double > * t_hsimInfoPhoton
Definition: IsolatedTracksHcalScale.cc:148
eHCALMatrixExtra.h
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
edm::Event
Definition: Event.h:73
spr::eCone_ecal
double eCone_ecal(const CaloGeometry *geo, edm::Handle< T > &barrelhits, edm::Handle< T > &endcaphits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
MagneticField
Definition: MagneticField.h:19
IsolatedTracksHcalScale::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: IsolatedTracksHcalScale.cc:211
IsolatedTracksHcalScale::tok_hbhe_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
Definition: IsolatedTracksHcalScale.cc:129
SimTrackContainer.h
edm::InputTag
Definition: InputTag.h:15
SimVertexContainer.h
EcalChannelStatusRcd.h
IsolatedTracksHcalScale::t_hsimInfoMatched
std::vector< double > * t_hsimInfoMatched
Definition: IsolatedTracksHcalScale.cc:148
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64
IsolatedTracksHcalScale::t_trackPhi
std::vector< double > * t_trackPhi
Definition: IsolatedTracksHcalScale.cc:142