CMS 3D CMS Logo

EgHLTOffHelper.cc
Go to the documentation of this file.
2 
7 
9 
12 
18 
22 
23 #include <iostream>
24 
25 using namespace egHLT;
26 
29  delete hltEleTrkIsolAlgo_;
31  delete hltPhoTrkIsolAlgo_;
32 }
33 
35  ecalRecHitsEBToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("BarrelRecHitCollection"));
36  ecalRecHitsEEToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("EndcapRecHitCollection"));
37  caloJetsToken = iC.consumes<reco::CaloJetCollection>(conf.getParameter<edm::InputTag>("CaloJetCollection"));
38  isolTrkToken = iC.consumes<reco::TrackCollection>(conf.getParameter<edm::InputTag>("IsolTrackCollection"));
39  hbheHitsToken = iC.consumes<HBHERecHitCollection>(conf.getParameter<edm::InputTag>("HBHERecHitCollection"));
40  hfHitsToken = iC.consumes<HFRecHitCollection>(conf.getParameter<edm::InputTag>("HFRecHitCollection"));
41  electronsToken = iC.consumes<reco::GsfElectronCollection>(conf.getParameter<edm::InputTag>("ElectronCollection"));
42  photonsToken = iC.consumes<reco::PhotonCollection>(conf.getParameter<edm::InputTag>("PhotonCollection"));
43  triggerSummaryToken = iC.consumes<trigger::TriggerEvent>(conf.getParameter<edm::InputTag>("triggerSummaryLabel"));
44  hltTag_ = conf.getParameter<std::string>("hltTag");
45  beamSpotToken = iC.consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("BeamSpotProducer"));
46  caloTowersToken = iC.consumes<CaloTowerCollection>(conf.getParameter<edm::InputTag>("CaloTowers"));
47  trigResultsToken = iC.consumes<edm::TriggerResults>(conf.getParameter<edm::InputTag>("TrigResults"));
48  vertexToken = iC.consumes<reco::VertexCollection>(conf.getParameter<edm::InputTag>("VertexCollection"));
49 
50  eleCuts_.setup(conf.getParameter<edm::ParameterSet>("eleCuts"));
51  eleLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("eleLooseCuts"));
52  phoCuts_.setup(conf.getParameter<edm::ParameterSet>("phoCuts"));
53  phoLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("phoLooseCuts"));
54 
55  //now we have the isolations completely configurable via python
56  hltEMIsolOuterCone_ = conf.getParameter<double>("hltEMIsolOuterCone");
57  hltEMIsolInnerConeEB_ = conf.getParameter<double>("hltEMIsolInnerConeEB");
58  hltEMIsolEtaSliceEB_ = conf.getParameter<double>("hltEMIsolEtaSliceEB");
59  hltEMIsolEtMinEB_ = conf.getParameter<double>("hltEMIsolEtMinEB");
60  hltEMIsolEMinEB_ = conf.getParameter<double>("hltEMIsolEMinEB");
61  hltEMIsolInnerConeEE_ = conf.getParameter<double>("hltEMIsolInnerConeEE");
62  hltEMIsolEtaSliceEE_ = conf.getParameter<double>("hltEMIsolEtaSliceEE");
63  hltEMIsolEtMinEE_ = conf.getParameter<double>("hltEMIsolEtMinEE");
64  hltEMIsolEMinEE_ = conf.getParameter<double>("hltEMIsolEMinEE");
65 
66  hltPhoTrkIsolPtMin_ = conf.getParameter<double>("hltPhoTrkIsolPtMin");
67  hltPhoTrkIsolOuterCone_ = conf.getParameter<double>("hltPhoTrkIsolOuterCone");
68  hltPhoTrkIsolInnerCone_ = conf.getParameter<double>("hltPhoTrkIsolInnerCone");
69  hltPhoTrkIsolZSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
70  hltPhoTrkIsolRSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
71  hltPhoTrkIsolCountTrks_ = conf.getParameter<bool>("hltPhoTrkIsolCountTrks");
72 
73  hltEleTrkIsolPtMin_ = conf.getParameter<double>("hltEleTrkIsolPtMin");
74  hltEleTrkIsolOuterCone_ = conf.getParameter<double>("hltEleTrkIsolOuterCone");
75  hltEleTrkIsolInnerCone_ = conf.getParameter<double>("hltEleTrkIsolInnerCone");
76  hltEleTrkIsolZSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
77  hltEleTrkIsolRSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
78 
79  hltHadIsolOuterCone_ = conf.getParameter<double>("hltHadIsolOuterCone");
80  hltHadIsolInnerCone_ = conf.getParameter<double>("hltHadIsolInnerCone");
81  hltHadIsolEtMin_ = conf.getParameter<double>("hltHadIsolEtMin");
82  hltHadIsolDepth_ = conf.getParameter<int>("hltHadIsolDepth");
83 
84  calHLTHcalIsol_ = conf.getParameter<bool>("calHLTHcalIsol");
85  calHLTEmIsol_ = conf.getParameter<bool>("calHLTEmIsol");
86  calHLTEleTrkIsol_ = conf.getParameter<bool>("calHLTEleTrkIsol");
87  calHLTPhoTrkIsol_ = conf.getParameter<bool>("calHLTPhoTrkIsol");
88 
89  trigCutParams_ = conf.getParameter<std::vector<edm::ParameterSet> >(
90  "triggerCuts"); //setupTriggers used to be in this function but had to be moved due to HLTConfigChanges (has to be called beginRun) so we have to save this for later.
91 
96 }
97 
98 //this code was taken out of OffHelper::setup due to HLTConfigProvider changes
99 //it still assumes that this is called only once
101  const std::vector<std::string>& hltFiltersUsed,
102  const TrigCodes& trigCodes) {
103  hltFiltersUsed_ = hltFiltersUsed; //expensive but only do this once and faster ways could make things less clear
104  //now work out how many objects are requires to pass filter for it to accept
107  for (size_t filterNr = 0; filterNr < hltFiltersUsed_.size(); filterNr++) {
108  hltFiltersUsedWithNrCandsCut_.push_back(std::make_pair(hltFiltersUsed_[filterNr], getMRObjs[filterNr]));
109  }
110 
111  //now loading the cuts for every trigger into our vector which stores them
112  //only load cuts for triggers that are in hltFiltersUsed
113 
114  for (auto& trigCutParam : trigCutParams_) {
115  std::string trigName = trigCutParam.getParameter<std::string>("trigName");
116  if (std::find(hltFiltersUsed_.begin(), hltFiltersUsed_.end(), trigName) !=
117  hltFiltersUsed_.end()) { //perhaps I should sort hltFiltersUsed_....
118  trigCuts_.push_back(std::make_pair(trigCodes.getCode(trigName), OffEgSel(trigCutParam)));
119  // std::cout<<trigName<<std::endl<<"between"<<std::endl<<trigCutParams_[trigNr]<<std::endl<<"after"<<std::endl;
120  }
121  }
122  trigCutParams_.clear(); //dont need it any more, get rid of it
123 
124  //to make my life difficult, the scaled l1 paths are special
125  //and arent stored in trigger event
126  //to I have to figure out the path, see if it passes
127  //and then hunt down the l1 seed filter and use that to match to the pho/ele
128  //matching on l1 seed filter is not enough as that will be passed for normal
129  //electron triggers even if pre-scale hasnt fired
130  l1PreScaledFilters_.clear();
131  l1PreScaledPaths_.clear();
132  l1PreAndSeedFilters_.clear();
133  for (auto& filterNr : hltFiltersUsed_) {
134  if (filterNr.find("hltPreL1") == 0) { //l1 prescaled path
135  l1PreScaledFilters_.push_back(filterNr);
136  }
137  }
138 
140  if (l1PreScaledPaths_.size() == l1PreScaledFilters_.size()) {
141  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size(); pathNr++) {
143  //---Morse====
144  //std::cout<<l1PreScaledFilters_[pathNr]<<" "<<l1PreScaledPaths_[pathNr]<<" "<<l1SeedFilter<<std::endl;
145  //------------
146  l1PreAndSeedFilters_.push_back(std::make_pair(l1PreScaledFilters_[pathNr], l1SeedFilter));
147  }
148  }
149 }
150 
151 int OffHelper::makeOffEvt(const edm::Event& edmEvent,
152  const edm::EventSetup& setup,
153  egHLT::OffEvt& offEvent,
154  const TrigCodes& c) {
155  offEvent.clear();
156  int errCode = 0; //excution stops as soon as an error is flagged
157  if (errCode == 0)
158  errCode = getHandles(edmEvent, setup);
159  if (errCode == 0)
160  errCode = fillOffEleVec(offEvent.eles());
161  if (errCode == 0)
162  errCode = fillOffPhoVec(offEvent.phos());
163  if (errCode == 0)
164  errCode = setTrigInfo(edmEvent, offEvent, c);
165  if (errCode == 0)
166  offEvent.setJets(recoJets_);
167  return errCode;
168 }
169 
171  try {
174  //setup.get<EcalSeverityLevelAlgoRcd>().get(ecalSeverityLevel_);
175  } catch (cms::Exception& iException) {
176  return errCodes::Geom;
177  }
178  try {
180  } catch (cms::Exception& iException) {
181  return errCodes::MagField;
182  }
183 
184  //get objects
186  return errCodes::TrigEvent; //must have this, otherwise skip event
188  return errCodes::TrigEvent; //re using bit to minimise bug fix code changes
190  return errCodes::OffEle; //need for electrons
192  return errCodes::OffPho; //need for photons
194  return errCodes::OffJet; //need for electrons and photons
196  return errCodes::OffVertex; //need for eff vs nVertex
197 
198  //need for HLT isolations (rec hits also need for sigmaIPhiIPhi (ele/pho) and r9 pho)
200  return errCodes::EBRecHits;
202  return errCodes::EERecHits;
204  return errCodes::IsolTrks;
206  return errCodes::HBHERecHits; //I dont think we need hbhe rec-hits any more
208  return errCodes::HFRecHits; //I dont think we need hf rec-hits any more
210  return errCodes::BeamSpot;
212  return errCodes::CaloTowers;
213 
214  return 0;
215 }
216 
217 //this function coverts GsfElectrons to a format which is actually useful to me
218 int OffHelper::fillOffEleVec(std::vector<OffEle>& egHLTOffEles) {
219  egHLTOffEles.clear();
220  egHLTOffEles.reserve(recoEles_->size());
221  for (auto const& gsfIter : *recoEles_) {
222  if (!gsfIter.ecalDrivenSeed())
223  continue; //avoid PF electrons (this is Eg HLT validation and HLT is ecal driven)
224 
225  int nVertex = 0;
226  for (auto const& nVit : *recoVertices_) {
227  if (!nVit.isFake() && nVit.ndof() > 4 && std::fabs(nVit.z() < 24.0) &&
228  sqrt(nVit.x() * nVit.x() + nVit.y() * nVit.y()) < 2.0) {
229  nVertex++;
230  }
231  }
232  //if(nVertex>20)std::cout<<"nVertex: "<<nVertex<<std::endl;
233  OffEle::EventData eventData;
234  eventData.NVertex = nVertex;
235 
236  OffEle::IsolData isolData;
237  fillIsolData(gsfIter, isolData);
238 
239  OffEle::ClusShapeData clusShapeData;
240  fillClusShapeData(gsfIter, clusShapeData);
241 
242  OffEle::HLTData hltData;
243  fillHLTData(gsfIter, hltData);
244 
245  egHLTOffEles.emplace_back(gsfIter, clusShapeData, isolData, hltData, eventData);
246 
247  //now we would like to set the cut results
248  OffEle& ele = egHLTOffEles.back();
249  ele.setCutCode(eleCuts_.getCutCode(ele));
251 
252  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
253  for (auto& trigCut : trigCuts_)
254  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(ele)));
255  ele.setTrigCutsCutCodes(trigCutsCutCodes);
256  } //end loop over gsf electron collection
257  return 0;
258 }
259 
261  EgammaTowerIsolation hcalIsolAlgo(
268  caloGeom_,
269  *ebRecHits_,
271  DetId::Ecal);
277  caloGeom_,
278  *eeRecHits_,
280  DetId::Ecal);
281 
282  isolData.ptTrks = ele.dr03TkSumPt();
283  isolData.nrTrks = 999; //no longer supported
284  isolData.em = ele.dr03EcalRecHitSumEt();
285  isolData.hadDepth1 = ele.dr03HcalDepth1TowerSumEt();
286  isolData.hadDepth2 = ele.dr03HcalDepth2TowerSumEt();
287 
288  //now time to do the HLT algos
289  if (calHLTHcalIsol_)
290  isolData.hltHad = hcalIsolAlgo.getTowerESum(&ele);
291  else
292  isolData.hltHad = 0.;
293  if (calHLTEleTrkIsol_)
295  else
296  isolData.hltTrksEle = 0.;
297  if (calHLTPhoTrkIsol_) {
299  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonTrackCount(&ele, isolTrks_.product(), false);
300  else
301  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonPtSum(&ele, isolTrks_.product(), false);
302  } else
303  isolData.hltTrksPho = 0.;
304  if (calHLTEmIsol_)
305  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&ele) + ecalIsolAlgoEE.getEtSum(&ele);
306  else
307  isolData.hltEm = 0.;
308 }
309 
311  clusShapeData.sigmaEtaEta = ele.sigmaEtaEta();
312  clusShapeData.sigmaIEtaIEta = ele.sigmaIetaIeta();
313  double e5x5 = ele.e5x5();
314  if (e5x5 != 0.) {
315  clusShapeData.e1x5Over5x5 = ele.e1x5() / e5x5;
316  clusShapeData.e2x5MaxOver5x5 = ele.e2x5Max() / e5x5;
317  } else {
318  clusShapeData.e1x5Over5x5 = -1;
319  clusShapeData.e2x5MaxOver5x5 = -1;
320  }
321 
322  //want to calculate r9, sigmaPhiPhi and sigmaIPhiIPhi, have to do old fashioned way
323  const reco::BasicCluster& seedClus = *(ele.superCluster()->seed());
324  const DetId seedDetId =
325  seedClus.hitsAndFractions()[0]
326  .first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap
327  if (seedDetId.subdetId() == EcalBarrel) {
328  const auto& stdCov =
329  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
330  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
331  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
332  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
333  if (ele.superCluster()->rawEnergy() != 0.) {
334  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, ebRecHits_.product(), caloTopology_.product()) /
335  ele.superCluster()->rawEnergy();
336  } else
337  clusShapeData.r9 = -1.;
338 
339  } else {
340  const auto& stdCov =
341  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
342  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
343  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
344  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
345  if (ele.superCluster()->rawEnergy() != 0.) {
346  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, eeRecHits_.product(), caloTopology_.product()) /
347  ele.superCluster()->rawEnergy();
348  } else
349  clusShapeData.r9 = -1.;
350  }
351 }
352 
353 //reco approximations of hlt quantities
355  if (ele.closestCtfTrackRef().isNonnull() && ele.closestCtfTrackRef()->extra().isNonnull()) {
356  reco::TrackRef ctfTrack = ele.closestCtfTrackRef();
357  reco::SuperClusterRef scClus = ele.superCluster();
358 
359  //dEta
361  math::XYZPoint scPosWRTVtx(scClus->x() - bsPos.x(), scClus->y() - bsPos.y(), scClus->z() - ctfTrack->vz());
362  hltData.dEtaIn = fabs(scPosWRTVtx.eta() - ctfTrack->eta());
363 
364  //dPhi: lifted straight from hlt code
365  float deltaPhi = fabs(ctfTrack->outerPosition().phi() - scClus->phi());
366  if (deltaPhi > 6.283185308)
367  deltaPhi -= 6.283185308;
368  if (deltaPhi > 3.141592654)
369  deltaPhi = 6.283185308 - deltaPhi;
370  hltData.dPhiIn = deltaPhi;
371 
372  //invEInvP
373  if (ele.ecalEnergy() != 0 && ctfTrack->p() != 0)
374  hltData.invEInvP = 1 / ele.ecalEnergy() - 1 / ctfTrack->p();
375  else
376  hltData.invEInvP = 0;
377  } else {
378  hltData.dEtaIn = 999;
379  hltData.dPhiIn = 999;
380  hltData.invEInvP = 999;
381  }
382 
383  //Now get HLT p4 from triggerobject
384  //reset the position first
385  hltData.HLTeta = 999;
386  hltData.HLTphi = 999;
387  hltData.HLTenergy = -999;
389  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
390 }
391 
393  //Now get HLT p4 from triggerobject
394  //reset the position first
395  hltData.HLTeta = 999;
396  hltData.HLTphi = 999;
397  hltData.HLTenergy = -999;
399  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
400 }
401 
402 //this function coverts Photons to a format which more useful to me
403 int OffHelper::fillOffPhoVec(std::vector<OffPho>& egHLTOffPhos) {
404  egHLTOffPhos.clear();
405  egHLTOffPhos.reserve(recoPhos_->size());
406  for (auto const& phoIter : *recoPhos_) {
407  OffPho::IsolData isolData;
408  OffPho::ClusShapeData clusShapeData;
409 
410  fillIsolData(phoIter, isolData);
411  fillClusShapeData(phoIter, clusShapeData);
412 
413  OffPho::HLTData hltData;
414  fillHLTDataPho(phoIter, hltData);
415 
416  egHLTOffPhos.emplace_back(phoIter, clusShapeData, isolData, hltData);
417  OffPho& pho = egHLTOffPhos.back();
418  pho.setCutCode(phoCuts_.getCutCode(pho));
420 
421  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
422  for (auto& trigCut : trigCuts_)
423  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(pho)));
424  pho.setTrigCutsCutCodes(trigCutsCutCodes);
425 
426  } //end loop over photon collection
427  return 0;
428 }
429 
431  EgammaTowerIsolation hcalIsolAlgo(
438  caloGeom_,
439  *ebRecHits_,
441  DetId::Ecal);
447  caloGeom_,
448  *eeRecHits_,
450  DetId::Ecal);
451 
452  isolData.nrTrks = pho.nTrkHollowConeDR03();
453  isolData.ptTrks = pho.trkSumPtHollowConeDR03();
454  isolData.em = pho.ecalRecHitSumEtConeDR03();
455  isolData.had = pho.hcalTowerSumEtConeDR03();
456 
457  //now calculate hlt algos
458  if (calHLTHcalIsol_)
459  isolData.hltHad = hcalIsolAlgo.getTowerESum(&pho);
460  else
461  isolData.hltHad = 0.;
462  if (calHLTPhoTrkIsol_) {
464  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonTrackCount(&pho, isolTrks_.product(), false);
465  else
466  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonPtSum(&pho, isolTrks_.product(), false);
467  } else
468  isolData.hltTrks = 0.;
469  if (calHLTEmIsol_)
470  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&pho) + ecalIsolAlgoEE.getEtSum(&pho);
471  else
472  isolData.hltEm = 0.;
473 }
474 
476  clusShapeData.sigmaEtaEta = pho.sigmaEtaEta();
477  clusShapeData.sigmaIEtaIEta = pho.sigmaIetaIeta();
478  double e5x5 = pho.e5x5();
479  if (e5x5 !=
480  0.) { //even though it is almost impossible for this to be 0., this code can never ever crash under any situation
481  clusShapeData.e1x5Over5x5 = pho.e1x5() / e5x5;
482  clusShapeData.e2x5MaxOver5x5 = pho.e2x5() / e5x5;
483  } else {
484  clusShapeData.e1x5Over5x5 = -1;
485  clusShapeData.e2x5MaxOver5x5 = -1;
486  }
487  clusShapeData.r9 = pho.r9();
488 
489  //sigmaPhiPhi and sigmaIPhiIPhi are not in object (and nor should they be) so have to get them old fashioned way
490  //need to figure out if its in the barrel or endcap
491  //get the first hit of the cluster and figure out if its barrel or endcap
492  const reco::BasicCluster& seedClus = *(pho.superCluster()->seed());
493  const DetId seedDetId =
494  seedClus.hitsAndFractions()[0]
495  .first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap (it is also incredably inefficient as it getHitsByDetId passes the vector by value not reference
496  if (seedDetId.subdetId() == EcalBarrel) {
497  const auto& stdCov =
498  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
499  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
500  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
501  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
502  } else {
503  const auto& stdCov =
504  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
505  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
506 
507  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
508  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
509  }
510 }
511 
512 int OffHelper::setTrigInfo(const edm::Event& edmEvent, egHLT::OffEvt& offEvent, const TrigCodes& trigCodes) {
513  TrigCodes::TrigBitSet evtTrigBits =
515  //the l1 prescale paths dont have a filter with I can figure out if it passed or failed with so have to use TriggerResults
516  if (l1PreScaledPaths_.size() ==
517  l1PreScaledFilters_.size()) { //check to ensure both vectors have same number of events incase of screw ups
519  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size();
520  pathNr++) { //now we have to check the prescaled l1 trigger paths
521  unsigned int pathIndex = triggerNames.triggerIndex(l1PreScaledPaths_[pathNr]);
522  if (pathIndex < trigResults_->size() && trigResults_->accept(pathIndex)) {
523  evtTrigBits |= trigCodes.getCode(l1PreScaledFilters_[pathNr]);
524  }
525  }
526  }
527 
528  offEvent.setEvtTrigBits(evtTrigBits);
529 
531  offEvent.eles(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
533  offEvent.phos(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
534  return 0;
535 }
egHLT::OffHelper::recoJets_
edm::Handle< std::vector< reco::CaloJet > > recoJets_
Definition: EgHLTOffHelper.h:95
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CaloJetCollection.h
egHLT::OffHelper::trigResultsToken
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
Definition: EgHLTOffHelper.h:78
egHLT::OffHelper::hltEleTrkIsolZSpan_
double hltEleTrkIsolZSpan_
Definition: EgHLTOffHelper.h:139
egHLT::OffPho::IsolData::nrTrks
int nrTrks
Definition: EgHLTOffPho.h:30
reco::GsfElectron::dr03TkSumPt
float dr03TkSumPt() const
Definition: GsfElectron.h:528
egHLT::OffEle::setTrigCutsCutCodes
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffEle.h:116
egHLT::OffPho::IsolData
Definition: EgHLTOffPho.h:29
reco::GsfElectron::gsfTrack
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:163
reco::Photon::superCluster
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
egHLT::OffHelper::ecalRecHitsEBToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
Definition: EgHLTOffHelper.h:67
egHLT::OffHelper::hltEleTrkIsolPtMin_
double hltEleTrkIsolPtMin_
Definition: EgHLTOffHelper.h:136
egHLT::OffHelper::trigCuts_
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
Definition: EgHLTOffHelper.h:65
edm::Handle::product
T const * product() const
Definition: Handle.h:70
egHLT::OffHelper::hltHadIsolEtMin_
double hltHadIsolEtMin_
Definition: EgHLTOffHelper.h:144
egHLT::OffHelper::eeRecHits_
edm::Handle< EcalRecHitCollection > eeRecHits_
Definition: EgHLTOffHelper.h:87
egHLT::OffHelper::caloTowers_
edm::Handle< CaloTowerCollection > caloTowers_
Definition: EgHLTOffHelper.h:98
reco::Photon::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: Photon.h:237
egHLT::OffHelper::magField_
edm::ESHandle< MagneticField > magField_
Definition: EgHLTOffHelper.h:83
egHLT::OffEle::IsolData::hltHad
float hltHad
Definition: EgHLTOffEle.h:39
EcalSeverityLevelAlgoRcd.h
egHLT::OffHelper::triggerSummaryToken
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
Definition: EgHLTOffHelper.h:73
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
egHLT::errCodes::HFRecHits
Definition: EgHLTErrCodes.h:21
egHLT::OffHelper::setup
void setup(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
Definition: EgHLTOffHelper.cc:34
egHLT::errCodes::HBHERecHits
Definition: EgHLTErrCodes.h:20
EgammaHLTTrackIsolation
Definition: EgammaHLTTrackIsolation.h:42
egHLT::OffEvt::phos
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:50
egHLT::OffEle::IsolData::ptTrks
float ptTrks
Definition: EgHLTOffEle.h:36
egHLT::OffHelper::hltEMIsolEtaSliceEE_
double hltEMIsolEtaSliceEE_
Definition: EgHLTOffHelper.h:126
egHLT::OffHelper::phoLooseCuts_
OffEgSel phoLooseCuts_
Definition: EgHLTOffHelper.h:62
egHLT::OffEle::EventData::NVertex
int NVertex
Definition: EgHLTOffEle.h:72
reco::VertexCollection
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
egHLT::OffPho::ClusShapeData::sigmaPhiPhi
float sigmaPhiPhi
Definition: EgHLTOffPho.h:46
egHLT::OffPho::IsolData::hltHad
float hltHad
Definition: EgHLTOffPho.h:34
egHLT::OffEvt
Definition: EgHLTOffEvt.h:29
edm::SortedCollection< EcalRecHit >
egHLT::TrigCodes
Definition: EgHLTTrigCodes.h:20
egHLT::OffHelper::hltTag_
std::string hltTag_
Definition: EgHLTOffHelper.h:104
egHLT::errCodes::OffVertex
Definition: EgHLTErrCodes.h:25
egHLT::OffPho::ClusShapeData
Definition: EgHLTOffPho.h:41
egHLT::OffHelper::setupTriggers
void setupTriggers(const HLTConfigProvider &config, const std::vector< std::string > &hltFiltersUsed, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:100
reco::GsfElectronCollection
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
Definition: GsfElectronFwd.h:14
egHLT::OffHelper::hltPhoTrkIsolAlgo_
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
Definition: EgHLTOffHelper.h:116
CaloTopologyRecord
Definition: CaloTopologyRecord.h:10
edm::Event::triggerNames
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:275
egHLT::OffHelper::caloGeom_
edm::ESHandle< CaloGeometry > caloGeom_
Definition: EgHLTOffHelper.h:81
EgammaRecHitIsolation
Definition: EgammaRecHitIsolation.h:26
egHLT::OffHelper::hltEMIsolInnerConeEE_
double hltEMIsolInnerConeEE_
Definition: EgHLTOffHelper.h:125
reco::Photon::nTrkHollowConeDR03
int nTrkHollowConeDR03() const
Definition: Photon.h:453
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
egHLT::OffHelper::caloJetsToken
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
Definition: EgHLTOffHelper.h:69
egHLT::OffEle::ClusShapeData::sigmaIPhiIPhi
float sigmaIPhiIPhi
Definition: EgHLTOffEle.h:51
egHLT::OffHelper::trigCutParams_
std::vector< edm::ParameterSet > trigCutParams_
Definition: EgHLTOffHelper.h:152
egHLT::OffEle
Definition: EgHLTOffEle.h:29
EcalBarrel
Definition: EcalSubdetector.h:10
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
egHLT::OffPho::ClusShapeData::sigmaIEtaIEta
float sigmaIEtaIEta
Definition: EgHLTOffPho.h:43
egHLT::OffEle::ClusShapeData::sigmaIEtaIEta
float sigmaIEtaIEta
Definition: EgHLTOffEle.h:49
edm::Ref< TrackCollection >
reco::Photon::e2x5
float e2x5() const
Definition: Photon.h:232
egHLT::OffHelper::hltPhoTrkIsolInnerCone_
double hltPhoTrkIsolInnerCone_
Definition: EgHLTOffHelper.h:132
egHLT::OffPho::HLTData::HLTeta
float HLTeta
Definition: EgHLTOffPho.h:55
egHLT::OffHelper::hltPhoTrkIsolZSpan_
double hltPhoTrkIsolZSpan_
Definition: EgHLTOffHelper.h:133
egHLT::trigTools::getMinNrObjsRequiredByFilter
std::vector< int > getMinNrObjsRequiredByFilter(const std::vector< std::string > &filterName)
Definition: EgHLTTrigTools.cc:36
egHLT::errCodes::OffPho
Definition: EgHLTErrCodes.h:14
egHLT::OffHelper::caloTopology_
edm::ESHandle< CaloTopology > caloTopology_
Definition: EgHLTOffHelper.h:82
egHLT::OffHelper::l1PreScaledFilters_
std::vector< std::string > l1PreScaledFilters_
Definition: EgHLTOffHelper.h:111
egHLT::OffHelper::recoVertices_
edm::Handle< reco::VertexCollection > recoVertices_
Definition: EgHLTOffHelper.h:102
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
DetId
Definition: DetId.h:17
egHLT::OffPho::ClusShapeData::e1x5Over5x5
float e1x5Over5x5
Definition: EgHLTOffPho.h:45
reco::Photon::ecalRecHitSumEtConeDR03
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:433
egHLT::errCodes::Geom
Definition: EgHLTErrCodes.h:16
egHLT::OffHelper::recoEles_
edm::Handle< reco::GsfElectronCollection > recoEles_
Definition: EgHLTOffHelper.h:94
egHLT::OffHelper::vertexToken
edm::EDGetTokenT< reco::VertexCollection > vertexToken
Definition: EgHLTOffHelper.h:79
egHLT::OffHelper::hltPhoTrkIsolCountTrks_
bool hltPhoTrkIsolCountTrks_
Definition: EgHLTOffHelper.h:135
egHLT::OffHelper::getHandles
int getHandles(const edm::Event &event, const edm::EventSetup &setup)
Definition: EgHLTOffHelper.cc:170
egHLT::OffHelper::beamSpotToken
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
Definition: EgHLTOffHelper.h:76
Track.h
egHLT::OffHelper::hltFiltersUsed_
std::vector< std::string > hltFiltersUsed_
Definition: EgHLTOffHelper.h:105
egHLT::OffPho
Definition: EgHLTOffPho.h:26
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
egHLT::OffEle::IsolData::hltTrksPho
float hltTrksPho
Definition: EgHLTOffEle.h:41
egHLT::TrigCodes::TrigBitSet
std::bitset< maxNrBits_ > TrigBitSet
Definition: EgHLTTrigCodes.h:23
L1TEGammaOffline_cfi.triggerNames
triggerNames
Definition: L1TEGammaOffline_cfi.py:40
egHLT::OffHelper::~OffHelper
~OffHelper()
Definition: EgHLTOffHelper.cc:27
egHLT::OffPho::setCutCode
void setCutCode(int code)
Definition: EgHLTOffPho.h:92
egHLT::errCodes::IsolTrks
Definition: EgHLTErrCodes.h:19
reco::CaloCluster
Definition: CaloCluster.h:31
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
EgammaHLTTrackIsolation::photonTrackCount
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
Definition: EgammaHLTTrackIsolation.h:102
egHLT::OffHelper::hltPhoTrkIsolOuterCone_
double hltPhoTrkIsolOuterCone_
Definition: EgHLTOffHelper.h:131
reco::BeamSpot
Definition: BeamSpot.h:21
reco::GsfElectron::e2x5Max
float e2x5Max() const
Definition: GsfElectron.h:421
egHLT::OffPho::IsolData::hltEm
float hltEm
Definition: EgHLTOffPho.h:36
egHLT::OffEvt::setEvtTrigBits
void setEvtTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEvt.h:57
EgammaHLTTrackIsolation.h
egHLT::OffHelper::hltHadIsolInnerCone_
double hltHadIsolInnerCone_
Definition: EgHLTOffHelper.h:143
egHLT::OffEvt::setJets
void setJets(edm::Handle< std::vector< reco::CaloJet > > jets)
Definition: EgHLTOffEvt.h:58
egHLT::OffEle::HLTData::HLTeta
float HLTeta
Definition: EgHLTOffEle.h:64
egHLT::OffEle::HLTData::dPhiIn
float dPhiIn
Definition: EgHLTOffEle.h:61
reco::GsfElectron
Definition: GsfElectron.h:34
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
EgammaTowerIsolation.h
egHLT::OffPho::setTrigCutsCutCodes
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffPho.h:96
reco::Photon::trkSumPtHollowConeDR03
float trkSumPtHollowConeDR03() const
Definition: Photon.h:449
egHLT::OffHelper::calHLTEleTrkIsol_
bool calHLTEleTrkIsol_
Definition: EgHLTOffHelper.h:149
egHLT::OffHelper::hltEMIsolEtMinEB_
double hltEMIsolEtMinEB_
Definition: EgHLTOffHelper.h:123
EcalSeverityLevelAlgo.h
egHLT::trigTools::getFiltersPassed
TrigCodes::TrigBitSet getFiltersPassed(const std::vector< std::pair< std::string, int > > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag, const TrigCodes &trigCodes)
Definition: EgHLTTrigTools.cc:8
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
qcdUeDQM_cfi.bsPos
bsPos
Definition: qcdUeDQM_cfi.py:39
EgammaHLTTrackIsolation::electronPtSum
float electronPtSum(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get Pt sum of tracks inside an isolation cone for electrons.
Definition: EgammaHLTTrackIsolation.h:119
reco::Photon::sigmaEtaEta
float sigmaEtaEta() const
Definition: Photon.h:236
egHLT::OffPho::IsolData::had
float had
Definition: EgHLTOffPho.h:33
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalSubdetector.h
egHLT::OffEgSel::setup
void setup(const edm::ParameterSet &)
Definition: EgHLTOffEgSel.cc:13
egHLT::errCodes::CaloTowers
Definition: EgHLTErrCodes.h:24
egHLT::OffHelper::eleCuts_
OffEgSel eleCuts_
Definition: EgHLTOffHelper.h:61
EgHLTOffTrigSelection_cfi.trigName
trigName
Definition: EgHLTOffTrigSelection_cfi.py:8
egHLT::OffHelper::isolTrks_
edm::Handle< reco::TrackCollection > isolTrks_
Definition: EgHLTOffHelper.h:90
egHLT::OffHelper::recoPhos_
edm::Handle< reco::PhotonCollection > recoPhos_
Definition: EgHLTOffHelper.h:93
egHLT::OffHelper::hltEleTrkIsolOuterCone_
double hltEleTrkIsolOuterCone_
Definition: EgHLTOffHelper.h:137
egHLT::OffHelper::beamSpot_
edm::Handle< reco::BeamSpot > beamSpot_
Definition: EgHLTOffHelper.h:97
egHLT::TrigCodes::getCode
TrigBitSet getCode(const char *descript) const
Definition: EgHLTTrigCodes.cc:42
egHLT::OffEle::HLTData::HLTenergy
float HLTenergy
Definition: EgHLTOffEle.h:66
egHLT::OffHelper::hltEMIsolEMinEB_
double hltEMIsolEMinEB_
Definition: EgHLTOffHelper.h:124
egHLT::OffEle::ClusShapeData::r9
float r9
Definition: EgHLTOffEle.h:54
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
egHLT::OffHelper::hltEMIsolEMinEE_
double hltEMIsolEMinEE_
Definition: EgHLTOffHelper.h:128
reco::Photon::r9
float r9() const
Definition: Photon.h:240
reco::CaloCluster::hitsAndFractions
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
egHLT::OffHelper::isolTrkToken
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
Definition: EgHLTOffHelper.h:70
egHLT::errCodes::BeamSpot
Definition: EgHLTErrCodes.h:22
egHLT::OffHelper::eleLooseCuts_
OffEgSel eleLooseCuts_
Definition: EgHLTOffHelper.h:60
egHLT::OffHelper::hltHadIsolDepth_
int hltHadIsolDepth_
Definition: EgHLTOffHelper.h:145
egHLT::OffHelper::hbheHitsToken
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
Definition: EgHLTOffHelper.h:71
egHLT::OffEle::IsolData::nrTrks
int nrTrks
Definition: EgHLTOffEle.h:37
EcalClusterTools.h
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
EgHLTErrCodes.h
egHLT::OffHelper::fillClusShapeData
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
Definition: EgHLTOffHelper.cc:310
egHLT::OffHelper::trigResults_
edm::Handle< edm::TriggerResults > trigResults_
Definition: EgHLTOffHelper.h:100
reco::GsfElectron::dr03HcalDepth1TowerSumEt
float dr03HcalDepth1TowerSumEt() const
Definition: GsfElectron.h:531
egHLT::OffEle::ClusShapeData::e1x5Over5x5
float e1x5Over5x5
Definition: EgHLTOffEle.h:52
EgammaTowerIsolation
Definition: EgammaTowerIsolation.h:197
egHLT::OffHelper::hbheHits_
edm::Handle< HBHERecHitCollection > hbheHits_
Definition: EgHLTOffHelper.h:89
TriggerNames.h
egHLT::OffHelper::phoCuts_
OffEgSel phoCuts_
Definition: EgHLTOffHelper.h:63
egHLT::OffEle::HLTData::invEInvP
float invEInvP
Definition: EgHLTOffEle.h:62
egHLT::OffEgSel
Definition: EgHLTOffEgSel.h:24
reco::CaloJetCollection
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
Definition: CaloJetCollection.h:15
egHLT::OffEle::HLTData::dEtaIn
float dEtaIn
Definition: EgHLTOffEle.h:60
egHLT::OffEle::IsolData::hadDepth2
float hadDepth2
Definition: EgHLTOffEle.h:35
egHLT::errCodes::OffJet
Definition: EgHLTErrCodes.h:15
reco::GsfElectron::e1x5
float e1x5() const
Definition: GsfElectron.h:420
egHLT::OffHelper::calHLTHcalIsol_
bool calHLTHcalIsol_
Definition: EgHLTOffHelper.h:147
GsfTrack.h
egHLT::errCodes::MagField
Definition: EgHLTErrCodes.h:23
egHLT::OffHelper::calHLTPhoTrkIsol_
bool calHLTPhoTrkIsol_
Definition: EgHLTOffHelper.h:150
egHLT::OffHelper::ecalSeverityLevel_
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
Definition: EgHLTOffHelper.h:84
egHLT::trigTools::getL1SeedFilterOfPath
std::string getL1SeedFilterOfPath(const HLTConfigProvider &hltConfig, const std::string &path)
Definition: EgHLTTrigTools.cc:331
egHLT::OffHelper::ebRecHits_
edm::Handle< EcalRecHitCollection > ebRecHits_
Definition: EgHLTOffHelper.h:86
egHLT::errCodes::EBRecHits
Definition: EgHLTErrCodes.h:17
edm::EventSetup
Definition: EventSetup.h:58
egHLT::OffHelper::fillHLTDataPho
void fillHLTDataPho(const reco::Photon &pho, OffPho::HLTData &hltData)
Definition: EgHLTOffHelper.cc:392
reco::GsfElectron::closestCtfTrackRef
virtual TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:187
egHLT::errCodes::OffEle
Definition: EgHLTErrCodes.h:13
egHLT::OffPho::ClusShapeData::sigmaIPhiIPhi
float sigmaIPhiIPhi
Definition: EgHLTOffPho.h:47
trigger::TriggerEvent
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
egHLT::OffPho::HLTData
Definition: EgHLTOffPho.h:53
DetId::Ecal
Definition: DetId.h:27
get
#define get
egHLT::OffHelper::hltEMIsolEtMinEE_
double hltEMIsolEtMinEE_
Definition: EgHLTOffHelper.h:127
reco::Photon::e5x5
float e5x5() const
Definition: Photon.h:234
egHLT::OffHelper::hfHits_
edm::Handle< HFRecHitCollection > hfHits_
Definition: EgHLTOffHelper.h:88
egHLT::errCodes::EERecHits
Definition: EgHLTErrCodes.h:18
egHLT::OffHelper::fillOffPhoVec
int fillOffPhoVec(std::vector< OffPho > &offPhos)
Definition: EgHLTOffHelper.cc:403
egHLT::OffHelper::setTrigInfo
int setTrigInfo(const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:512
reco::GsfElectron::sigmaEtaEta
float sigmaEtaEta() const
Definition: GsfElectron.h:417
egHLT::OffEle::ClusShapeData::sigmaEtaEta
float sigmaEtaEta
Definition: EgHLTOffEle.h:48
egHLT::OffEle::IsolData
Definition: EgHLTOffEle.h:32
reco::GsfElectron::sigmaIetaIeta
float sigmaIetaIeta() const
Definition: GsfElectron.h:418
egHLT::OffPho::HLTData::HLTenergy
float HLTenergy
Definition: EgHLTOffPho.h:57
reco::Photon
Definition: Photon.h:21
egHLT::OffPho::IsolData::em
float em
Definition: EgHLTOffPho.h:32
egHLT::OffEle::ClusShapeData::e2x5MaxOver5x5
float e2x5MaxOver5x5
Definition: EgHLTOffEle.h:53
egHLT::OffHelper::fillHLTData
void fillHLTData(const reco::GsfElectron &ele, OffEle::HLTData &hltData)
Definition: EgHLTOffHelper.cc:354
HLTConfigProvider
Definition: HLTConfigProvider.h:29
egHLT::OffEgSel::getCutCode
int getCutCode(const OffEle &ele, int cutMask=~0x0) const
Definition: EgHLTOffEgSel.cc:18
reco::GsfElectron::e5x5
float e5x5() const
Definition: GsfElectron.h:422
egHLT::OffHelper::hltHadIsolOuterCone_
double hltHadIsolOuterCone_
Definition: EgHLTOffHelper.h:142
egHLT::OffPho::ClusShapeData::sigmaEtaEta
float sigmaEtaEta
Definition: EgHLTOffPho.h:42
DetId.h
egHLT::OffHelper::hltEMIsolEtaSliceEB_
double hltEMIsolEtaSliceEB_
Definition: EgHLTOffHelper.h:122
egHLT::OffHelper::hltPhoTrkIsolRSpan_
double hltPhoTrkIsolRSpan_
Definition: EgHLTOffHelper.h:134
reco::Photon::e1x5
float e1x5() const
Shower shape variables.
Definition: Photon.h:231
egHLT::OffPho::IsolData::hltTrks
float hltTrks
Definition: EgHLTOffPho.h:35
EgammaRecHitIsolation.h
EgammaHLTTrackIsolation::photonPtSum
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
Definition: EgammaHLTTrackIsolation.h:134
edm::TriggerNames
Definition: TriggerNames.h:55
egHLT::OffEle::HLTData::HLTphi
float HLTphi
Definition: EgHLTOffEle.h:65
egHLT::OffHelper::trigEvt_
edm::Handle< trigger::TriggerEvent > trigEvt_
Definition: EgHLTOffHelper.h:92
egHLT::OffEle::ClusShapeData::sigmaPhiPhi
float sigmaPhiPhi
Definition: EgHLTOffEle.h:50
egHLT::OffHelper::l1PreAndSeedFilters_
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
Definition: EgHLTOffHelper.h:109
egHLT::trigTools::translateFiltersToPathNames
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)
Definition: EgHLTTrigTools.cc:293
egHLT::OffEle::IsolData::hltTrksEle
float hltTrksEle
Definition: EgHLTOffEle.h:40
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HltComparatorCreateWorkflow.hltConfig
hltConfig
Definition: HltComparatorCreateWorkflow.py:161
egHLT::OffEle::EventData
Definition: EgHLTOffEle.h:71
reco::GsfElectron::superCluster
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:162
egHLT::OffHelper::fillIsolData
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
Definition: EgHLTOffHelper.cc:260
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
egHLT::OffEle::setLooseCutCode
void setLooseCutCode(int code)
Definition: EgHLTOffEle.h:114
egHLT::OffEle::IsolData::hadDepth1
float hadDepth1
Definition: EgHLTOffEle.h:34
egHLT::OffHelper::hltEleTrkIsolAlgo_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
Definition: EgHLTOffHelper.h:115
reco::PhotonCollection
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
L1TEGammaOffline_cfi.nVertex
nVertex
Definition: L1TEGammaOffline_cfi.py:60
EgHLTTrigTools.h
EgHLTTrigCodes.h
egHLT::OffPho::IsolData::ptTrks
float ptTrks
Definition: EgHLTOffPho.h:31
cms::Exception
Definition: Exception.h:70
reco::BeamSpot::Point
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:27
egHLT::OffHelper::hltPhoTrkIsolPtMin_
double hltPhoTrkIsolPtMin_
Definition: EgHLTOffHelper.h:130
egHLT::OffPho::HLTData::HLTphi
float HLTphi
Definition: EgHLTOffPho.h:56
egHLT::OffHelper::hfHitsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
Definition: EgHLTOffHelper.h:72
egHLT::OffEle::setCutCode
void setCutCode(int code)
Definition: EgHLTOffEle.h:113
egHLT::OffHelper::l1PreScaledPaths_
std::vector< std::string > l1PreScaledPaths_
Definition: EgHLTOffHelper.h:110
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
egHLT::OffHelper::hltEleTrkIsolInnerCone_
double hltEleTrkIsolInnerCone_
Definition: EgHLTOffHelper.h:138
egHLT::OffHelper::caloTowersToken
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
Definition: EgHLTOffHelper.h:77
egHLT::OffHelper::hltEMIsolOuterCone_
double hltEMIsolOuterCone_
Definition: EgHLTOffHelper.h:120
event
Definition: event.py:1
egHLT::OffEle::IsolData::em
float em
Definition: EgHLTOffEle.h:33
edm::Event
Definition: Event.h:73
egHLT::OffEvt::eles
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:48
egHLT::OffHelper::ecalRecHitsEEToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
Definition: EgHLTOffHelper.h:68
egHLT
Definition: EgHLTBinData.h:10
egHLT::OffHelper::hltFiltersUsedWithNrCandsCut_
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
Definition: EgHLTOffHelper.h:107
egHLT::OffEle::ClusShapeData
Definition: EgHLTOffEle.h:47
egHLT::OffHelper::photonsToken
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
Definition: EgHLTOffHelper.h:75
egHLT::OffEle::HLTData
Definition: EgHLTOffEle.h:59
egHLT::OffEle::IsolData::hltEm
float hltEm
Definition: EgHLTOffEle.h:42
egHLT::OffPho::ClusShapeData::e2x5MaxOver5x5
float e2x5MaxOver5x5
Definition: EgHLTOffPho.h:44
egHLT::OffHelper::calHLTEmIsol_
bool calHLTEmIsol_
Definition: EgHLTOffHelper.h:148
egHLT::OffHelper::getHandle
static bool getHandle(const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
Definition: EgHLTOffHelper.h:202
edm::InputTag
Definition: InputTag.h:15
egHLT::OffHelper::electronsToken
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
Definition: EgHLTOffHelper.h:74
reco::GsfElectron::dr03HcalDepth2TowerSumEt
float dr03HcalDepth2TowerSumEt() const
Definition: GsfElectron.h:532
egHLT::errCodes::TrigEvent
Definition: EgHLTErrCodes.h:12
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
reco::GsfElectron::dr03EcalRecHitSumEt
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:530
edm::TriggerResults
Definition: TriggerResults.h:35
EgHLTOffHelper.h
egHLT::trigTools::setFiltersObjPasses
void setFiltersObjPasses(std::vector< T > &objs, const std::vector< std::string > &filters, const std::vector< std::pair< std::string, std::string > > &l1PreAndSeedFilters, const TrigCodes::TrigBitSet &evtTrigBits, const TrigCodes &trigCodes, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
Definition: EgHLTTrigTools.h:72
egHLT::OffHelper::makeOffEvt
int makeOffEvt(const edm::Event &edmEvent, const edm::EventSetup &setup, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
Definition: EgHLTOffHelper.cc:151
egHLT::OffHelper::hltEleTrkIsolRSpan_
double hltEleTrkIsolRSpan_
Definition: EgHLTOffHelper.h:140
egHLT::OffHelper::hltEMIsolInnerConeEB_
double hltEMIsolInnerConeEB_
Definition: EgHLTOffHelper.h:121
egHLT::trigTools::fillHLTposition
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
Definition: EgHLTTrigTools.h:130
egHLT::OffHelper::fillOffEleVec
int fillOffEleVec(std::vector< OffEle > &offEles)
Definition: EgHLTOffHelper.cc:218
egHLT::OffPho::setLooseCutCode
void setLooseCutCode(int code)
Definition: EgHLTOffPho.h:93
egHLT::OffEvt::clear
void clear()
Definition: EgHLTOffEvt.cc:5
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
egHLT::OffPho::ClusShapeData::r9
float r9
Definition: EgHLTOffPho.h:48
reco::GsfElectron::ecalEnergy
float ecalEnergy() const
Definition: GsfElectron.h:818
reco::Photon::hcalTowerSumEtConeDR03
float hcalTowerSumEtConeDR03() const
Hcal isolation sum.
Definition: Photon.h:435