CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
egHLT::OffHelper Class Reference

#include <EgHLTOffHelper.h>

Public Member Functions

void fillClusShapeData (const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
 
void fillClusShapeData (const reco::Photon &pho, OffPho::ClusShapeData &clusShapeData)
 
void fillHLTData (const reco::GsfElectron &ele, OffEle::HLTData &hltData)
 
void fillHLTDataPho (const reco::Photon &pho, OffPho::HLTData &hltData)
 
void fillIsolData (const reco::GsfElectron &ele, OffEle::IsolData &isolData)
 
void fillIsolData (const reco::Photon &pho, OffPho::IsolData &isolData)
 
int fillOffEleVec (std::vector< OffEle > &offEles)
 
int fillOffPhoVec (std::vector< OffPho > &offPhos)
 
int getHandles (const edm::Event &event, const edm::EventSetup &setup)
 
int makeOffEvt (const edm::Event &edmEvent, const edm::EventSetup &setup, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
 
 OffHelper ()
 
 OffHelper (const OffHelper &)=delete
 
OffHelperoperator= (const OffHelper &)=delete
 
int setTrigInfo (const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
 
void setup (const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
 
void setupTriggers (const HLTConfigProvider &config, const std::vector< std::string > &hltFiltersUsed, const TrigCodes &trigCodes)
 
const std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > & trigCuts () const
 
const trigger::TriggerEventtrigEvt () const
 
 ~OffHelper ()
 

Static Public Member Functions

template<class T >
static bool getHandle (const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
 

Private Attributes

edm::Handle< reco::BeamSpotbeamSpot_
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken
 
bool calHLTEleTrkIsol_
 
bool calHLTEmIsol_
 
bool calHLTHcalIsol_
 
bool calHLTPhoTrkIsol_
 
edm::ESHandle< CaloGeometrycaloGeom_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeomToken_
 
edm::EDGetTokenT< reco::CaloJetCollectioncaloJetsToken
 
edm::ESHandle< CaloTopologycaloTopology_
 
edm::ESGetToken< CaloTopology, CaloTopologyRecordcaloTopoToken_
 
edm::Handle< CaloTowerCollectioncaloTowers_
 
edm::EDGetTokenT< CaloTowerCollectioncaloTowersToken
 
edm::Handle< EcalRecHitCollectionebRecHits_
 
edm::EDGetTokenT< EcalRecHitCollectionecalRecHitsEBToken
 
edm::EDGetTokenT< EcalRecHitCollectionecalRecHitsEEToken
 
edm::ESHandle< EcalSeverityLevelAlgoecalSeverityLevel_
 
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcdecalSeverityToken_
 
edm::Handle< EcalRecHitCollectioneeRecHits_
 
edm::EDGetTokenT< reco::GsfElectronCollectionelectronsToken
 
OffEgSel eleCuts_
 
OffEgSel eleLooseCuts_
 
edm::Handle< HBHERecHitCollectionhbheHits_
 
edm::EDGetTokenT< HBHERecHitCollectionhbheHitsToken
 
edm::Handle< HFRecHitCollectionhfHits_
 
edm::EDGetTokenT< HFRecHitCollectionhfHitsToken
 
EgammaHLTTrackIsolationhltEleTrkIsolAlgo_
 
double hltEleTrkIsolInnerCone_
 
double hltEleTrkIsolOuterCone_
 
double hltEleTrkIsolPtMin_
 
double hltEleTrkIsolRSpan_
 
double hltEleTrkIsolZSpan_
 
double hltEMIsolEMinEB_
 
double hltEMIsolEMinEE_
 
double hltEMIsolEtaSliceEB_
 
double hltEMIsolEtaSliceEE_
 
double hltEMIsolEtMinEB_
 
double hltEMIsolEtMinEE_
 
double hltEMIsolInnerConeEB_
 
double hltEMIsolInnerConeEE_
 
double hltEMIsolOuterCone_
 
std::vector< std::string > hltFiltersUsed_
 
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
 
int hltHadIsolDepth_
 
double hltHadIsolEtMin_
 
double hltHadIsolInnerCone_
 
double hltHadIsolOuterCone_
 
EgammaHLTTrackIsolationhltPhoTrkIsolAlgo_
 
bool hltPhoTrkIsolCountTrks_
 
double hltPhoTrkIsolInnerCone_
 
double hltPhoTrkIsolOuterCone_
 
double hltPhoTrkIsolPtMin_
 
double hltPhoTrkIsolRSpan_
 
double hltPhoTrkIsolZSpan_
 
std::string hltTag_
 
edm::Handle< reco::TrackCollectionisolTrks_
 
edm::EDGetTokenT< reco::TrackCollectionisolTrkToken
 
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
 
std::vector< std::string > l1PreScaledFilters_
 
std::vector< std::string > l1PreScaledPaths_
 
edm::ESHandle< MagneticFieldmagField_
 
edm::ESGetToken< MagneticField, IdealMagneticFieldRecordmagFieldToken_
 
OffEgSel phoCuts_
 
OffEgSel phoLooseCuts_
 
edm::EDGetTokenT< reco::PhotonCollectionphotonsToken
 
edm::Handle< reco::GsfElectronCollectionrecoEles_
 
edm::Handle< std::vector< reco::CaloJet > > recoJets_
 
edm::Handle< reco::PhotonCollectionrecoPhos_
 
edm::Handle< reco::VertexCollectionrecoVertices_
 
std::vector< edm::ParameterSettrigCutParams_
 
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
 
edm::Handle< trigger::TriggerEventtrigEvt_
 
edm::EDGetTokenT< trigger::TriggerEventtriggerSummaryToken
 
edm::Handle< edm::TriggerResultstrigResults_
 
edm::EDGetTokenT< edm::TriggerResultstrigResultsToken
 
edm::EDGetTokenT< reco::VertexCollectionvertexToken
 

Detailed Description

Definition at line 59 of file EgHLTOffHelper.h.

Constructor & Destructor Documentation

◆ OffHelper() [1/2]

egHLT::OffHelper::OffHelper ( )
inline

Definition at line 161 of file EgHLTOffHelper.h.

162  : eleLooseCuts_(),
163  eleCuts_(),
164  phoLooseCuts_(),
165  phoCuts_(),
166  hltEleTrkIsolAlgo_(nullptr),
167  hltPhoTrkIsolAlgo_(nullptr) {}
OffEgSel phoLooseCuts_
OffEgSel eleLooseCuts_
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_

◆ OffHelper() [2/2]

egHLT::OffHelper::OffHelper ( const OffHelper )
delete

◆ ~OffHelper()

OffHelper::~OffHelper ( )

Definition at line 28 of file EgHLTOffHelper.cc.

References hltEleTrkIsolAlgo_, and hltPhoTrkIsolAlgo_.

28  {
30  delete hltEleTrkIsolAlgo_;
32  delete hltPhoTrkIsolAlgo_;
33 }
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_

Member Function Documentation

◆ fillClusShapeData() [1/2]

void OffHelper::fillClusShapeData ( const reco::GsfElectron ele,
OffEle::ClusShapeData clusShapeData 
)

Definition at line 316 of file EgHLTOffHelper.cc.

References caloGeom_, caloTopology_, reco::GsfElectron::e1x5(), egHLT::OffEle::ClusShapeData::e1x5Over5x5, reco::GsfElectron::e2x5Max(), egHLT::OffEle::ClusShapeData::e2x5MaxOver5x5, reco::GsfElectron::e5x5(), ebRecHits_, EcalBarrel, eeRecHits_, reco::CaloCluster::hitsAndFractions(), edm::ESHandle< T >::product(), egHLT::OffEle::ClusShapeData::r9, egHLT::OffEle::ClusShapeData::sigmaEtaEta, reco::GsfElectron::sigmaEtaEta(), egHLT::OffEle::ClusShapeData::sigmaIEtaIEta, reco::GsfElectron::sigmaIetaIeta(), egHLT::OffEle::ClusShapeData::sigmaIPhiIPhi, egHLT::OffEle::ClusShapeData::sigmaPhiPhi, mathSSE::sqrt(), DetId::subdetId(), and reco::GsfElectron::superCluster().

Referenced by fillOffEleVec(), and fillOffPhoVec().

316  {
317  clusShapeData.sigmaEtaEta = ele.sigmaEtaEta();
318  clusShapeData.sigmaIEtaIEta = ele.sigmaIetaIeta();
319  double e5x5 = ele.e5x5();
320  if (e5x5 != 0.) {
321  clusShapeData.e1x5Over5x5 = ele.e1x5() / e5x5;
322  clusShapeData.e2x5MaxOver5x5 = ele.e2x5Max() / e5x5;
323  } else {
324  clusShapeData.e1x5Over5x5 = -1;
325  clusShapeData.e2x5MaxOver5x5 = -1;
326  }
327 
328  //want to calculate r9, sigmaPhiPhi and sigmaIPhiIPhi, have to do old fashioned way
329  const reco::BasicCluster& seedClus = *(ele.superCluster()->seed());
330  const DetId seedDetId =
331  seedClus.hitsAndFractions()[0]
332  .first; //note this may not actually be the seed hit but it doesnt matter because all hits will be in the barrel OR endcap
333  if (seedDetId.subdetId() == EcalBarrel) {
334  const auto& stdCov =
335  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
336  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
337  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
338  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
339  if (ele.superCluster()->rawEnergy() != 0.) {
340  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, ebRecHits_.product(), caloTopology_.product()) /
341  ele.superCluster()->rawEnergy();
342  } else
343  clusShapeData.r9 = -1.;
344 
345  } else {
346  const auto& stdCov =
347  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
348  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
349  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
350  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
351  if (ele.superCluster()->rawEnergy() != 0.) {
352  clusShapeData.r9 = EcalClusterTools::e3x3(seedClus, eeRecHits_.product(), caloTopology_.product()) /
353  ele.superCluster()->rawEnergy();
354  } else
355  clusShapeData.r9 = -1.;
356  }
357 }
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
float e2x5Max() const
Definition: GsfElectron.h:422
float sigmaIetaIeta() const
Definition: GsfElectron.h:419
float e1x5() const
Definition: GsfElectron.h:421
T const * product() const
Definition: ESHandle.h:86
float e5x5() const
Definition: GsfElectron.h:423
T sqrt(T t)
Definition: SSEVec.h:19
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
edm::ESHandle< CaloGeometry > caloGeom_
float sigmaEtaEta() const
Definition: GsfElectron.h:418
Definition: DetId.h:17
edm::ESHandle< CaloTopology > caloTopology_
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< EcalRecHitCollection > ebRecHits_
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:155

◆ fillClusShapeData() [2/2]

void OffHelper::fillClusShapeData ( const reco::Photon pho,
OffPho::ClusShapeData clusShapeData 
)

Definition at line 481 of file EgHLTOffHelper.cc.

References caloGeom_, caloTopology_, reco::Photon::e1x5(), egHLT::OffPho::ClusShapeData::e1x5Over5x5, reco::Photon::e2x5(), egHLT::OffPho::ClusShapeData::e2x5MaxOver5x5, reco::Photon::e5x5(), ebRecHits_, EcalBarrel, eeRecHits_, reco::CaloCluster::hitsAndFractions(), edm::ESHandle< T >::product(), egHLT::OffPho::ClusShapeData::r9, reco::Photon::r9(), egHLT::OffPho::ClusShapeData::sigmaEtaEta, reco::Photon::sigmaEtaEta(), egHLT::OffPho::ClusShapeData::sigmaIEtaIEta, reco::Photon::sigmaIetaIeta(), egHLT::OffPho::ClusShapeData::sigmaIPhiIPhi, egHLT::OffPho::ClusShapeData::sigmaPhiPhi, mathSSE::sqrt(), DetId::subdetId(), and reco::Photon::superCluster().

481  {
482  clusShapeData.sigmaEtaEta = pho.sigmaEtaEta();
483  clusShapeData.sigmaIEtaIEta = pho.sigmaIetaIeta();
484  double e5x5 = pho.e5x5();
485  if (e5x5 !=
486  0.) { //even though it is almost impossible for this to be 0., this code can never ever crash under any situation
487  clusShapeData.e1x5Over5x5 = pho.e1x5() / e5x5;
488  clusShapeData.e2x5MaxOver5x5 = pho.e2x5() / e5x5;
489  } else {
490  clusShapeData.e1x5Over5x5 = -1;
491  clusShapeData.e2x5MaxOver5x5 = -1;
492  }
493  clusShapeData.r9 = pho.r9();
494 
495  //sigmaPhiPhi and sigmaIPhiIPhi are not in object (and nor should they be) so have to get them old fashioned way
496  //need to figure out if its in the barrel or endcap
497  //get the first hit of the cluster and figure out if its barrel or endcap
498  const reco::BasicCluster& seedClus = *(pho.superCluster()->seed());
499  const DetId seedDetId =
500  seedClus.hitsAndFractions()[0]
501  .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
502  if (seedDetId.subdetId() == EcalBarrel) {
503  const auto& stdCov =
504  EcalClusterTools::covariances(seedClus, ebRecHits_.product(), caloTopology_.product(), caloGeom_.product());
505  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, ebRecHits_.product(), caloTopology_.product());
506  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
507  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
508  } else {
509  const auto& stdCov =
510  EcalClusterTools::covariances(seedClus, eeRecHits_.product(), caloTopology_.product(), caloGeom_.product());
511  const auto& crysCov = EcalClusterTools::localCovariances(seedClus, eeRecHits_.product(), caloTopology_.product());
512  clusShapeData.sigmaPhiPhi = sqrt(stdCov[2]);
513  clusShapeData.sigmaIPhiIPhi = sqrt(crysCov[2]);
514  }
515 }
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
Definition: CaloCluster.h:210
float sigmaEtaEta() const
Definition: Photon.h:272
float e1x5() const
Shower shape variables.
Definition: Photon.h:267
float e5x5() const
Definition: Photon.h:270
T const * product() const
Definition: ESHandle.h:86
reco::SuperClusterRef superCluster() const override
Ref to SuperCluster.
float sigmaIetaIeta() const
Definition: Photon.h:273
T sqrt(T t)
Definition: SSEVec.h:19
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
edm::ESHandle< CaloGeometry > caloGeom_
Definition: DetId.h:17
edm::ESHandle< CaloTopology > caloTopology_
float r9() const
Definition: Photon.h:276
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< EcalRecHitCollection > ebRecHits_
float e2x5() const
Definition: Photon.h:268

◆ fillHLTData()

void OffHelper::fillHLTData ( const reco::GsfElectron ele,
OffEle::HLTData hltData 
)

Definition at line 360 of file EgHLTOffHelper.cc.

References beamSpot_, qcdUeDQM_cfi::bsPos, reco::GsfElectron::closestCtfTrackRef(), SiPixelRawToDigiRegional_cfi::deltaPhi, egHLT::OffEle::HLTData::dEtaIn, egHLT::OffEle::HLTData::dPhiIn, reco::GsfElectron::ecalEnergy(), egHLT::trigTools::fillHLTposition(), egHLT::OffEle::HLTData::HLTenergy, egHLT::OffEle::HLTData::HLTeta, hltFiltersUsed_, egHLT::OffEle::HLTData::HLTphi, hltTag_, egHLT::OffEle::HLTData::invEInvP, edm::Ref< C, T, F >::isNonnull(), reco::BeamSpot::position(), edm::Handle< T >::product(), reco::GsfElectron::superCluster(), and trigEvt_.

Referenced by fillOffEleVec().

360  {
361  if (ele.closestCtfTrackRef().isNonnull() && ele.closestCtfTrackRef()->extra().isNonnull()) {
362  reco::TrackRef ctfTrack = ele.closestCtfTrackRef();
363  reco::SuperClusterRef scClus = ele.superCluster();
364 
365  //dEta
367  math::XYZPoint scPosWRTVtx(scClus->x() - bsPos.x(), scClus->y() - bsPos.y(), scClus->z() - ctfTrack->vz());
368  hltData.dEtaIn = fabs(scPosWRTVtx.eta() - ctfTrack->eta());
369 
370  //dPhi: lifted straight from hlt code
371  float deltaPhi = fabs(ctfTrack->outerPosition().phi() - scClus->phi());
372  if (deltaPhi > 6.283185308)
373  deltaPhi -= 6.283185308;
374  if (deltaPhi > 3.141592654)
375  deltaPhi = 6.283185308 - deltaPhi;
376  hltData.dPhiIn = deltaPhi;
377 
378  //invEInvP
379  if (ele.ecalEnergy() != 0 && ctfTrack->p() != 0)
380  hltData.invEInvP = 1 / ele.ecalEnergy() - 1 / ctfTrack->p();
381  else
382  hltData.invEInvP = 0;
383  } else {
384  hltData.dEtaIn = 999;
385  hltData.dPhiIn = 999;
386  hltData.invEInvP = 999;
387  }
388 
389  //Now get HLT p4 from triggerobject
390  //reset the position first
391  hltData.HLTeta = 999;
392  hltData.HLTphi = 999;
393  hltData.HLTenergy = -999;
395  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
396 }
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
const Point & position() const
position
Definition: BeamSpot.h:59
T const * product() const
Definition: Handle.h:70
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
math::XYZPoint Point
point in the space
Definition: BeamSpot.h:27
edm::Handle< trigger::TriggerEvent > trigEvt_
float ecalEnergy() const
Definition: GsfElectron.h:896
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
virtual TrackRef closestCtfTrackRef() const
Definition: GsfElectron.h:180
std::vector< std::string > hltFiltersUsed_
edm::Handle< reco::BeamSpot > beamSpot_
std::string hltTag_
SuperClusterRef superCluster() const override
reference to a SuperCluster
Definition: GsfElectron.h:155

◆ fillHLTDataPho()

void OffHelper::fillHLTDataPho ( const reco::Photon pho,
OffPho::HLTData hltData 
)

Definition at line 398 of file EgHLTOffHelper.cc.

References egHLT::trigTools::fillHLTposition(), egHLT::OffPho::HLTData::HLTenergy, egHLT::OffPho::HLTData::HLTeta, hltFiltersUsed_, egHLT::OffPho::HLTData::HLTphi, hltTag_, edm::Handle< T >::product(), and trigEvt_.

Referenced by fillOffPhoVec().

398  {
399  //Now get HLT p4 from triggerobject
400  //reset the position first
401  hltData.HLTeta = 999;
402  hltData.HLTphi = 999;
403  hltData.HLTenergy = -999;
405  //trigTools::fillHLTposition(phos(),hltFiltersUsed_,l1PreAndSeedFilters_,evtTrigBits,trigEvt_.product(),hltTag_);
406 }
void fillHLTposition(T &obj, U &hltData, const std::vector< std::string > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag)
T const * product() const
Definition: Handle.h:70
edm::Handle< trigger::TriggerEvent > trigEvt_
std::vector< std::string > hltFiltersUsed_
std::string hltTag_

◆ fillIsolData() [1/2]

void OffHelper::fillIsolData ( const reco::GsfElectron ele,
OffEle::IsolData isolData 
)

Definition at line 266 of file EgHLTOffHelper.cc.

References calHLTEleTrkIsol_, calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloGeom_, caloTowers_, reco::GsfElectron::dr03EcalRecHitSumEt(), reco::GsfElectron::dr03HcalTowerSumEt(), reco::GsfElectron::dr03TkSumPt(), ebRecHits_, DetId::Ecal, ecalSeverityLevel_, eeRecHits_, EgammaHLTTrackIsolation::electronPtSum(), egHLT::OffEle::IsolData::em, reco::GsfElectron::gsfTrack(), egHLT::OffEle::IsolData::hadDepth1, egHLT::OffEle::IsolData::hadDepth2, hltEleTrkIsolAlgo_, egHLT::OffEle::IsolData::hltEm, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, egHLT::OffEle::IsolData::hltHad, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, egHLT::OffEle::IsolData::hltTrksEle, egHLT::OffEle::IsolData::hltTrksPho, isolTrks_, egHLT::OffEle::IsolData::nrTrks, EgammaHLTTrackIsolation::photonPtSum(), EgammaHLTTrackIsolation::photonTrackCount(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), and egHLT::OffEle::IsolData::ptTrks.

Referenced by fillOffEleVec(), and fillOffPhoVec().

266  {
267  EgammaTowerIsolation hcalIsolAlgo(
274  caloGeom_,
275  *ebRecHits_,
277  DetId::Ecal);
283  caloGeom_,
284  *eeRecHits_,
286  DetId::Ecal);
287 
288  isolData.ptTrks = ele.dr03TkSumPt();
289  isolData.nrTrks = 999; //no longer supported
290  isolData.em = ele.dr03EcalRecHitSumEt();
291  isolData.hadDepth1 = ele.dr03HcalTowerSumEt(1);
292  isolData.hadDepth2 = ele.dr03HcalTowerSumEt(2);
293 
294  //now time to do the HLT algos
295  if (calHLTHcalIsol_)
296  isolData.hltHad = hcalIsolAlgo.getTowerESum(&ele);
297  else
298  isolData.hltHad = 0.;
299  if (calHLTEleTrkIsol_)
301  else
302  isolData.hltTrksEle = 0.;
303  if (calHLTPhoTrkIsol_) {
305  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonTrackCount(&ele, isolTrks_.product(), false);
306  else
307  isolData.hltTrksPho = hltPhoTrkIsolAlgo_->photonPtSum(&ele, isolTrks_.product(), false);
308  } else
309  isolData.hltTrksPho = 0.;
310  if (calHLTEmIsol_)
311  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&ele) + ecalIsolAlgoEE.getEtSum(&ele);
312  else
313  isolData.hltEm = 0.;
314 }
double hltEMIsolEtaSliceEB_
edm::Handle< reco::TrackCollection > isolTrks_
double hltEMIsolOuterCone_
T const * product() const
Definition: Handle.h:70
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
double hltEMIsolInnerConeEE_
float dr03TkSumPt() const
Definition: GsfElectron.h:557
GsfTrackRef gsfTrack() const override
reference to a GsfTrack
Definition: GsfElectron.h:156
T const * product() const
Definition: ESHandle.h:86
double hltHadIsolInnerCone_
float electronPtSum(const reco::Track *const tr, const reco::TrackCollection *isoTracks)
Get Pt sum of tracks inside an isolation cone for electrons.
double hltHadIsolOuterCone_
edm::ESHandle< CaloGeometry > caloGeom_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
float dr03EcalRecHitSumEt() const
Definition: GsfElectron.h:559
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
float dr03HcalTowerSumEt(int depth=0) const
Definition: GsfElectron.h:576
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)

◆ fillIsolData() [2/2]

void OffHelper::fillIsolData ( const reco::Photon pho,
OffPho::IsolData isolData 
)

Definition at line 436 of file EgHLTOffHelper.cc.

References calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloGeom_, caloTowers_, ebRecHits_, DetId::Ecal, reco::Photon::ecalRecHitSumEtConeDR03(), ecalSeverityLevel_, eeRecHits_, egHLT::OffPho::IsolData::em, egHLT::OffPho::IsolData::had, reco::Photon::hcalTowerSumEtConeDR03(), egHLT::OffPho::IsolData::hltEm, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, egHLT::OffPho::IsolData::hltHad, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, egHLT::OffPho::IsolData::hltTrks, isolTrks_, egHLT::OffPho::IsolData::nrTrks, reco::Photon::nTrkHollowConeDR03(), EgammaHLTTrackIsolation::photonPtSum(), EgammaHLTTrackIsolation::photonTrackCount(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), egHLT::OffPho::IsolData::ptTrks, and reco::Photon::trkSumPtHollowConeDR03().

436  {
437  EgammaTowerIsolation hcalIsolAlgo(
444  caloGeom_,
445  *ebRecHits_,
447  DetId::Ecal);
453  caloGeom_,
454  *eeRecHits_,
456  DetId::Ecal);
457 
458  isolData.nrTrks = pho.nTrkHollowConeDR03();
459  isolData.ptTrks = pho.trkSumPtHollowConeDR03();
460  isolData.em = pho.ecalRecHitSumEtConeDR03();
461  isolData.had = pho.hcalTowerSumEtConeDR03();
462 
463  //now calculate hlt algos
464  if (calHLTHcalIsol_)
465  isolData.hltHad = hcalIsolAlgo.getTowerESum(&pho);
466  else
467  isolData.hltHad = 0.;
468  if (calHLTPhoTrkIsol_) {
470  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonTrackCount(&pho, isolTrks_.product(), false);
471  else
472  isolData.hltTrks = hltPhoTrkIsolAlgo_->photonPtSum(&pho, isolTrks_.product(), false);
473  } else
474  isolData.hltTrks = 0.;
475  if (calHLTEmIsol_)
476  isolData.hltEm = ecalIsolAlgoEB.getEtSum(&pho) + ecalIsolAlgoEE.getEtSum(&pho);
477  else
478  isolData.hltEm = 0.;
479 }
double hltEMIsolEtaSliceEB_
edm::Handle< reco::TrackCollection > isolTrks_
float hcalTowerSumEtConeDR03(int depth=0) const
Hcal isolation sum for each depth excluding the region containing the rechits used for hcalOverEcal()...
Definition: Photon.h:506
double hltEMIsolOuterCone_
T const * product() const
Definition: Handle.h:70
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
int photonTrackCount(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)
int nTrkHollowConeDR03() const
Definition: Photon.h:516
double hltEMIsolInnerConeEE_
T const * product() const
Definition: ESHandle.h:86
double hltHadIsolInnerCone_
double hltHadIsolOuterCone_
float ecalRecHitSumEtConeDR03() const
Isolation variables in cone dR=0.3.
Definition: Photon.h:504
float trkSumPtHollowConeDR03() const
Definition: Photon.h:512
edm::ESHandle< CaloGeometry > caloGeom_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
edm::Handle< EcalRecHitCollection > eeRecHits_
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
edm::ESHandle< EcalSeverityLevelAlgo > ecalSeverityLevel_
float photonPtSum(const reco::RecoCandidate *const recocand, const reco::TrackCollection *isoTracks, bool useVertex)

◆ fillOffEleVec()

int OffHelper::fillOffEleVec ( std::vector< OffEle > &  offEles)

Definition at line 224 of file EgHLTOffHelper.cc.

References eleCuts_, eleLooseCuts_, fillClusShapeData(), fillHLTData(), fillIsolData(), egHLT::OffEgSel::getCutCode(), L1TEGammaOffline_cfi::nVertex, egHLT::OffEle::EventData::NVertex, recoEles_, recoVertices_, egHLT::OffEle::setCutCode(), egHLT::OffEle::setLooseCutCode(), egHLT::OffEle::setTrigCutsCutCodes(), mathSSE::sqrt(), and trigCuts_.

Referenced by makeOffEvt().

224  {
225  egHLTOffEles.clear();
226  egHLTOffEles.reserve(recoEles_->size());
227  for (auto const& gsfIter : *recoEles_) {
228  if (!gsfIter.ecalDrivenSeed())
229  continue; //avoid PF electrons (this is Eg HLT validation and HLT is ecal driven)
230 
231  int nVertex = 0;
232  for (auto const& nVit : *recoVertices_) {
233  if (!nVit.isFake() && nVit.ndof() > 4 && std::fabs(nVit.z() < 24.0) &&
234  sqrt(nVit.x() * nVit.x() + nVit.y() * nVit.y()) < 2.0) {
235  nVertex++;
236  }
237  }
238  //if(nVertex>20)std::cout<<"nVertex: "<<nVertex<<std::endl;
239  OffEle::EventData eventData;
240  eventData.NVertex = nVertex;
241 
242  OffEle::IsolData isolData;
243  fillIsolData(gsfIter, isolData);
244 
245  OffEle::ClusShapeData clusShapeData;
246  fillClusShapeData(gsfIter, clusShapeData);
247 
248  OffEle::HLTData hltData;
249  fillHLTData(gsfIter, hltData);
250 
251  egHLTOffEles.emplace_back(gsfIter, clusShapeData, isolData, hltData, eventData);
252 
253  //now we would like to set the cut results
254  OffEle& ele = egHLTOffEles.back();
255  ele.setCutCode(eleCuts_.getCutCode(ele));
257 
258  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
259  for (auto& trigCut : trigCuts_)
260  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(ele)));
261  ele.setTrigCutsCutCodes(trigCutsCutCodes);
262  } //end loop over gsf electron collection
263  return 0;
264 }
void setLooseCutCode(int code)
Definition: EgHLTOffEle.h:114
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
OffEgSel eleLooseCuts_
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
void fillHLTData(const reco::GsfElectron &ele, OffEle::HLTData &hltData)
T sqrt(T t)
Definition: SSEVec.h:19
void setCutCode(int code)
Definition: EgHLTOffEle.h:113
edm::Handle< reco::GsfElectronCollection > recoEles_
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffEle.h:116
edm::Handle< reco::VertexCollection > recoVertices_
int getCutCode(const OffEle &ele, int cutMask=~0x0) const

◆ fillOffPhoVec()

int OffHelper::fillOffPhoVec ( std::vector< OffPho > &  offPhos)

Definition at line 409 of file EgHLTOffHelper.cc.

References fillClusShapeData(), fillHLTDataPho(), fillIsolData(), egHLT::OffEgSel::getCutCode(), phoCuts_, phoLooseCuts_, recoPhos_, egHLT::OffPho::setCutCode(), egHLT::OffPho::setLooseCutCode(), egHLT::OffPho::setTrigCutsCutCodes(), and trigCuts_.

Referenced by makeOffEvt().

409  {
410  egHLTOffPhos.clear();
411  egHLTOffPhos.reserve(recoPhos_->size());
412  for (auto const& phoIter : *recoPhos_) {
413  OffPho::IsolData isolData;
414  OffPho::ClusShapeData clusShapeData;
415 
416  fillIsolData(phoIter, isolData);
417  fillClusShapeData(phoIter, clusShapeData);
418 
419  OffPho::HLTData hltData;
420  fillHLTDataPho(phoIter, hltData);
421 
422  egHLTOffPhos.emplace_back(phoIter, clusShapeData, isolData, hltData);
423  OffPho& pho = egHLTOffPhos.back();
424  pho.setCutCode(phoCuts_.getCutCode(pho));
426 
427  std::vector<std::pair<TrigCodes::TrigBitSet, int> > trigCutsCutCodes;
428  for (auto& trigCut : trigCuts_)
429  trigCutsCutCodes.push_back(std::make_pair(trigCut.first, trigCut.second.getCutCode(pho)));
430  pho.setTrigCutsCutCodes(trigCutsCutCodes);
431 
432  } //end loop over photon collection
433  return 0;
434 }
void setTrigCutsCutCodes(const std::vector< std::pair< TrigCodes::TrigBitSet, int > > &trigCutsCutCodes)
Definition: EgHLTOffPho.h:96
OffEgSel phoLooseCuts_
void fillClusShapeData(const reco::GsfElectron &ele, OffEle::ClusShapeData &clusShapeData)
edm::Handle< reco::PhotonCollection > recoPhos_
void fillIsolData(const reco::GsfElectron &ele, OffEle::IsolData &isolData)
void fillHLTDataPho(const reco::Photon &pho, OffPho::HLTData &hltData)
void setLooseCutCode(int code)
Definition: EgHLTOffPho.h:93
void setCutCode(int code)
Definition: EgHLTOffPho.h:92
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
int getCutCode(const OffEle &ele, int cutMask=~0x0) const

◆ getHandle()

template<class T >
bool egHLT::OffHelper::getHandle ( const edm::Event event,
const edm::EDGetTokenT< T > &  token,
edm::Handle< T > &  handle 
)
static

◆ getHandles()

int OffHelper::getHandles ( const edm::Event event,
const edm::EventSetup setup 
)

Definition at line 176 of file EgHLTOffHelper.cc.

References egHLT::errCodes::BeamSpot, beamSpot_, beamSpotToken, caloGeom_, caloGeomToken_, caloJetsToken, caloTopology_, caloTopoToken_, egHLT::errCodes::CaloTowers, caloTowers_, caloTowersToken, egHLT::errCodes::EBRecHits, ebRecHits_, ecalRecHitsEBToken, ecalRecHitsEEToken, egHLT::errCodes::EERecHits, eeRecHits_, electronsToken, egHLT::errCodes::Geom, getHandle(), hbheHits_, hbheHitsToken, egHLT::errCodes::HBHERecHits, hfHits_, hfHitsToken, egHLT::errCodes::HFRecHits, egHLT::errCodes::IsolTrks, isolTrks_, isolTrkToken, egHLT::errCodes::MagField, magField_, magFieldToken_, egHLT::errCodes::OffEle, egHLT::errCodes::OffJet, egHLT::errCodes::OffPho, egHLT::errCodes::OffVertex, photonsToken, recoEles_, recoJets_, recoPhos_, recoVertices_, setup(), egHLT::errCodes::TrigEvent, trigEvt_, triggerSummaryToken, trigResults_, trigResultsToken, and vertexToken.

Referenced by makeOffEvt().

176  {
177  try {
178  caloGeom_ = setup.getHandle(caloGeomToken_);
179  caloTopology_ = setup.getHandle(caloTopoToken_);
180  //ecalSeverityLevel_ = setup.getHandle(ecalSeverityToken_);
181  } catch (cms::Exception& iException) {
182  return errCodes::Geom;
183  }
184  try {
185  magField_ = setup.getHandle(magFieldToken_);
186  } catch (cms::Exception& iException) {
187  return errCodes::MagField;
188  }
189 
190  //get objects
192  return errCodes::TrigEvent; //must have this, otherwise skip event
194  return errCodes::TrigEvent; //re using bit to minimise bug fix code changes
196  return errCodes::OffEle; //need for electrons
198  return errCodes::OffPho; //need for photons
200  return errCodes::OffJet; //need for electrons and photons
202  return errCodes::OffVertex; //need for eff vs nVertex
203 
204  //need for HLT isolations (rec hits also need for sigmaIPhiIPhi (ele/pho) and r9 pho)
206  return errCodes::EBRecHits;
208  return errCodes::EERecHits;
210  return errCodes::IsolTrks;
212  return errCodes::HBHERecHits; //I dont think we need hbhe rec-hits any more
214  return errCodes::HFRecHits; //I dont think we need hf rec-hits any more
216  return errCodes::BeamSpot;
218  return errCodes::CaloTowers;
219 
220  return 0;
221 }
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopoToken_
edm::Handle< reco::TrackCollection > isolTrks_
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
edm::Handle< reco::PhotonCollection > recoPhos_
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
edm::Handle< HBHERecHitCollection > hbheHits_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
static bool getHandle(const edm::Event &event, const edm::EDGetTokenT< T > &token, edm::Handle< T > &handle)
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
edm::Handle< HFRecHitCollection > hfHits_
edm::Handle< std::vector< reco::CaloJet > > recoJets_
edm::ESHandle< MagneticField > magField_
edm::Handle< trigger::TriggerEvent > trigEvt_
edm::ESHandle< CaloGeometry > caloGeom_
edm::Handle< reco::GsfElectronCollection > recoEles_
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
edm::Handle< edm::TriggerResults > trigResults_
edm::ESHandle< CaloTopology > caloTopology_
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
edm::Handle< EcalRecHitCollection > eeRecHits_
void setup(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
edm::Handle< CaloTowerCollection > caloTowers_
edm::Handle< EcalRecHitCollection > ebRecHits_
edm::Handle< reco::VertexCollection > recoVertices_
edm::Handle< reco::BeamSpot > beamSpot_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
Definition: event.py:1
edm::EDGetTokenT< reco::VertexCollection > vertexToken

◆ makeOffEvt()

int OffHelper::makeOffEvt ( const edm::Event edmEvent,
const edm::EventSetup setup,
egHLT::OffEvt offEvent,
const TrigCodes trigCodes 
)

Definition at line 157 of file EgHLTOffHelper.cc.

References HltBtagPostValidation_cff::c, egHLT::OffEvt::clear(), egHLT::OffEvt::eles(), fillOffEleVec(), fillOffPhoVec(), getHandles(), egHLT::OffEvt::phos(), recoJets_, egHLT::OffEvt::setJets(), setTrigInfo(), and setup().

Referenced by EgHLTOfflineSource::analyze().

160  {
161  offEvent.clear();
162  int errCode = 0; //excution stops as soon as an error is flagged
163  if (errCode == 0)
164  errCode = getHandles(edmEvent, setup);
165  if (errCode == 0)
166  errCode = fillOffEleVec(offEvent.eles());
167  if (errCode == 0)
168  errCode = fillOffPhoVec(offEvent.phos());
169  if (errCode == 0)
170  errCode = setTrigInfo(edmEvent, offEvent, c);
171  if (errCode == 0)
172  offEvent.setJets(recoJets_);
173  return errCode;
174 }
int fillOffPhoVec(std::vector< OffPho > &offPhos)
int setTrigInfo(const edm::Event &edmEvent, egHLT::OffEvt &offEvent, const TrigCodes &trigCodes)
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:48
void clear()
Definition: EgHLTOffEvt.cc:5
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:50
edm::Handle< std::vector< reco::CaloJet > > recoJets_
void setJets(edm::Handle< std::vector< reco::CaloJet > > jets)
Definition: EgHLTOffEvt.h:58
int getHandles(const edm::Event &event, const edm::EventSetup &setup)
void setup(const edm::ParameterSet &conf, edm::ConsumesCollector &&iC)
int fillOffEleVec(std::vector< OffEle > &offEles)

◆ operator=()

OffHelper& egHLT::OffHelper::operator= ( const OffHelper )
delete

◆ setTrigInfo()

int OffHelper::setTrigInfo ( const edm::Event edmEvent,
egHLT::OffEvt offEvent,
const TrigCodes trigCodes 
)

Definition at line 517 of file EgHLTOffHelper.cc.

References edm::HLTGlobalStatus::accept(), egHLT::OffEvt::eles(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getFiltersPassed(), hltFiltersUsed_, hltFiltersUsedWithNrCandsCut_, hltTag_, l1PreAndSeedFilters_, l1PreScaledFilters_, l1PreScaledPaths_, egHLT::OffEvt::phos(), edm::Handle< T >::product(), egHLT::OffEvt::setEvtTrigBits(), egHLT::trigTools::setFiltersObjPasses(), findQualityFiles::size, trigEvt_, L1TEGammaOffline_cfi::triggerNames, edm::Event::triggerNames(), and trigResults_.

Referenced by makeOffEvt().

517  {
518  TrigCodes::TrigBitSet evtTrigBits =
520  //the l1 prescale paths dont have a filter with I can figure out if it passed or failed with so have to use TriggerResults
521  if (l1PreScaledPaths_.size() ==
522  l1PreScaledFilters_.size()) { //check to ensure both vectors have same number of events incase of screw ups
524  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size();
525  pathNr++) { //now we have to check the prescaled l1 trigger paths
526  unsigned int pathIndex = triggerNames.triggerIndex(l1PreScaledPaths_[pathNr]);
527  if (pathIndex < trigResults_->size() && trigResults_->accept(pathIndex)) {
528  evtTrigBits |= trigCodes.getCode(l1PreScaledFilters_[pathNr]);
529  }
530  }
531  }
532 
533  offEvent.setEvtTrigBits(evtTrigBits);
534 
536  offEvent.eles(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
538  offEvent.phos(), hltFiltersUsed_, l1PreAndSeedFilters_, evtTrigBits, trigCodes, trigEvt_.product(), hltTag_);
539  return 0;
540 }
size
Write out results.
bool accept() const
Has at least one path accepted the event?
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:283
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
T const * product() const
Definition: Handle.h:70
std::vector< std::string > l1PreScaledPaths_
const std::vector< OffEle > & eles() const
Definition: EgHLTOffEvt.h:48
const std::vector< OffPho > & phos() const
Definition: EgHLTOffEvt.h:50
void setEvtTrigBits(TrigCodes::TrigBitSet bits)
Definition: EgHLTOffEvt.h:57
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
TrigCodes::TrigBitSet getFiltersPassed(const std::vector< std::pair< std::string, int > > &filters, const trigger::TriggerEvent *trigEvt, const std::string &hltTag, const TrigCodes &trigCodes)
edm::Handle< trigger::TriggerEvent > trigEvt_
edm::Handle< edm::TriggerResults > trigResults_
std::vector< std::string > l1PreScaledFilters_
TrigBitSet getCode(const char *descript) const
std::vector< std::string > hltFiltersUsed_
std::string hltTag_
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)
std::bitset< maxNrBits_ > TrigBitSet

◆ setup()

void OffHelper::setup ( const edm::ParameterSet conf,
edm::ConsumesCollector &&  iC 
)

Definition at line 35 of file EgHLTOffHelper.cc.

References beamSpotToken, calHLTEleTrkIsol_, calHLTEmIsol_, calHLTHcalIsol_, calHLTPhoTrkIsol_, caloGeomToken_, caloJetsToken, caloTopoToken_, caloTowersToken, ecalRecHitsEBToken, ecalRecHitsEEToken, ecalSeverityToken_, electronsToken, eleCuts_, eleLooseCuts_, edm::ParameterSet::getParameter(), hbheHitsToken, hfHitsToken, hltEleTrkIsolAlgo_, hltEleTrkIsolInnerCone_, hltEleTrkIsolOuterCone_, hltEleTrkIsolPtMin_, hltEleTrkIsolRSpan_, hltEleTrkIsolZSpan_, hltEMIsolEMinEB_, hltEMIsolEMinEE_, hltEMIsolEtaSliceEB_, hltEMIsolEtaSliceEE_, hltEMIsolEtMinEB_, hltEMIsolEtMinEE_, hltEMIsolInnerConeEB_, hltEMIsolInnerConeEE_, hltEMIsolOuterCone_, hltHadIsolDepth_, hltHadIsolEtMin_, hltHadIsolInnerCone_, hltHadIsolOuterCone_, hltPhoTrkIsolAlgo_, hltPhoTrkIsolCountTrks_, hltPhoTrkIsolInnerCone_, hltPhoTrkIsolOuterCone_, hltPhoTrkIsolPtMin_, hltPhoTrkIsolRSpan_, hltPhoTrkIsolZSpan_, hltTag_, isolTrkToken, magFieldToken_, phoCuts_, phoLooseCuts_, photonsToken, egHLT::OffEgSel::setup(), AlCaHLTBitMon_QueryRunRegistry::string, trigCutParams_, triggerSummaryToken, trigResultsToken, and vertexToken.

Referenced by EgHLTOfflineSource::EgHLTOfflineSource(), getHandles(), and makeOffEvt().

35  {
36  ecalRecHitsEBToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("BarrelRecHitCollection"));
37  ecalRecHitsEEToken = iC.consumes<EcalRecHitCollection>(conf.getParameter<edm::InputTag>("EndcapRecHitCollection"));
39  isolTrkToken = iC.consumes<reco::TrackCollection>(conf.getParameter<edm::InputTag>("IsolTrackCollection"));
40  hbheHitsToken = iC.consumes<HBHERecHitCollection>(conf.getParameter<edm::InputTag>("HBHERecHitCollection"));
41  hfHitsToken = iC.consumes<HFRecHitCollection>(conf.getParameter<edm::InputTag>("HFRecHitCollection"));
45  hltTag_ = conf.getParameter<std::string>("hltTag");
46  beamSpotToken = iC.consumes<reco::BeamSpot>(conf.getParameter<edm::InputTag>("BeamSpotProducer"));
49  vertexToken = iC.consumes<reco::VertexCollection>(conf.getParameter<edm::InputTag>("VertexCollection"));
50 
55 
56  eleCuts_.setup(conf.getParameter<edm::ParameterSet>("eleCuts"));
57  eleLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("eleLooseCuts"));
58  phoCuts_.setup(conf.getParameter<edm::ParameterSet>("phoCuts"));
59  phoLooseCuts_.setup(conf.getParameter<edm::ParameterSet>("phoLooseCuts"));
60 
61  //now we have the isolations completely configurable via python
62  hltEMIsolOuterCone_ = conf.getParameter<double>("hltEMIsolOuterCone");
63  hltEMIsolInnerConeEB_ = conf.getParameter<double>("hltEMIsolInnerConeEB");
64  hltEMIsolEtaSliceEB_ = conf.getParameter<double>("hltEMIsolEtaSliceEB");
65  hltEMIsolEtMinEB_ = conf.getParameter<double>("hltEMIsolEtMinEB");
66  hltEMIsolEMinEB_ = conf.getParameter<double>("hltEMIsolEMinEB");
67  hltEMIsolInnerConeEE_ = conf.getParameter<double>("hltEMIsolInnerConeEE");
68  hltEMIsolEtaSliceEE_ = conf.getParameter<double>("hltEMIsolEtaSliceEE");
69  hltEMIsolEtMinEE_ = conf.getParameter<double>("hltEMIsolEtMinEE");
70  hltEMIsolEMinEE_ = conf.getParameter<double>("hltEMIsolEMinEE");
71 
72  hltPhoTrkIsolPtMin_ = conf.getParameter<double>("hltPhoTrkIsolPtMin");
73  hltPhoTrkIsolOuterCone_ = conf.getParameter<double>("hltPhoTrkIsolOuterCone");
74  hltPhoTrkIsolInnerCone_ = conf.getParameter<double>("hltPhoTrkIsolInnerCone");
75  hltPhoTrkIsolZSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
76  hltPhoTrkIsolRSpan_ = conf.getParameter<double>("hltPhoTrkIsolZSpan");
77  hltPhoTrkIsolCountTrks_ = conf.getParameter<bool>("hltPhoTrkIsolCountTrks");
78 
79  hltEleTrkIsolPtMin_ = conf.getParameter<double>("hltEleTrkIsolPtMin");
80  hltEleTrkIsolOuterCone_ = conf.getParameter<double>("hltEleTrkIsolOuterCone");
81  hltEleTrkIsolInnerCone_ = conf.getParameter<double>("hltEleTrkIsolInnerCone");
82  hltEleTrkIsolZSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
83  hltEleTrkIsolRSpan_ = conf.getParameter<double>("hltEleTrkIsolZSpan");
84 
85  hltHadIsolOuterCone_ = conf.getParameter<double>("hltHadIsolOuterCone");
86  hltHadIsolInnerCone_ = conf.getParameter<double>("hltHadIsolInnerCone");
87  hltHadIsolEtMin_ = conf.getParameter<double>("hltHadIsolEtMin");
88  hltHadIsolDepth_ = conf.getParameter<int>("hltHadIsolDepth");
89 
90  calHLTHcalIsol_ = conf.getParameter<bool>("calHLTHcalIsol");
91  calHLTEmIsol_ = conf.getParameter<bool>("calHLTEmIsol");
92  calHLTEleTrkIsol_ = conf.getParameter<bool>("calHLTEleTrkIsol");
93  calHLTPhoTrkIsol_ = conf.getParameter<bool>("calHLTPhoTrkIsol");
94 
95  trigCutParams_ = conf.getParameter<std::vector<edm::ParameterSet> >(
96  "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.
97 
102 }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
double hltEMIsolEtaSliceEB_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > caloTopoToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
double hltPhoTrkIsolRSpan_
edm::EDGetTokenT< CaloTowerCollection > caloTowersToken
OffEgSel phoLooseCuts_
double hltEMIsolOuterCone_
OffEgSel eleLooseCuts_
std::vector< Track > TrackCollection
collection of Tracks
Definition: TrackFwd.h:14
edm::EDGetTokenT< HBHERecHitCollection > hbheHitsToken
EgammaHLTTrackIsolation * hltPhoTrkIsolAlgo_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double hltEleTrkIsolOuterCone_
edm::EDGetTokenT< reco::TrackCollection > isolTrkToken
double hltEMIsolInnerConeEE_
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
edm::EDGetTokenT< reco::GsfElectronCollection > electronsToken
std::vector< edm::ParameterSet > trigCutParams_
double hltEleTrkIsolInnerCone_
double hltPhoTrkIsolPtMin_
double hltEleTrkIsolZSpan_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryToken
double hltHadIsolInnerCone_
void setup(const edm::ParameterSet &)
double hltPhoTrkIsolZSpan_
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEEToken
double hltEleTrkIsolRSpan_
double hltHadIsolOuterCone_
edm::EDGetTokenT< reco::PhotonCollection > photonsToken
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken
double hltEleTrkIsolPtMin_
double hltPhoTrkIsolInnerCone_
double hltEMIsolEtaSliceEE_
double hltEMIsolInnerConeEB_
edm::EDGetTokenT< edm::TriggerResults > trigResultsToken
edm::EDGetTokenT< HFRecHitCollection > hfHitsToken
std::vector< Photon > PhotonCollection
collectin of Photon objects
Definition: PhotonFwd.h:9
edm::EDGetTokenT< reco::CaloJetCollection > caloJetsToken
edm::EDGetTokenT< EcalRecHitCollection > ecalRecHitsEBToken
double hltPhoTrkIsolOuterCone_
EgammaHLTTrackIsolation * hltEleTrkIsolAlgo_
std::string hltTag_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > ecalSeverityToken_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > magFieldToken_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
edm::EDGetTokenT< reco::VertexCollection > vertexToken

◆ setupTriggers()

void OffHelper::setupTriggers ( const HLTConfigProvider config,
const std::vector< std::string > &  hltFiltersUsed,
const TrigCodes trigCodes 
)

Definition at line 106 of file EgHLTOffHelper.cc.

References spr::find(), egHLT::TrigCodes::getCode(), egHLT::trigTools::getL1SeedFilterOfPath(), egHLT::trigTools::getMinNrObjsRequiredByFilter(), HltComparatorCreateWorkflow::hltConfig, hltFiltersUsed_, hltFiltersUsedWithNrCandsCut_, l1PreAndSeedFilters_, l1PreScaledFilters_, l1PreScaledPaths_, AlCaHLTBitMon_QueryRunRegistry::string, egHLT::trigTools::translateFiltersToPathNames(), trigCutParams_, trigCuts_, and cscTnPEfficiencyTask_cfi::trigName.

Referenced by EgHLTOfflineSource::bookHistograms().

108  {
109  hltFiltersUsed_ = hltFiltersUsed; //expensive but only do this once and faster ways could make things less clear
110  //now work out how many objects are requires to pass filter for it to accept
113  for (size_t filterNr = 0; filterNr < hltFiltersUsed_.size(); filterNr++) {
114  hltFiltersUsedWithNrCandsCut_.push_back(std::make_pair(hltFiltersUsed_[filterNr], getMRObjs[filterNr]));
115  }
116 
117  //now loading the cuts for every trigger into our vector which stores them
118  //only load cuts for triggers that are in hltFiltersUsed
119 
120  for (auto& trigCutParam : trigCutParams_) {
121  std::string trigName = trigCutParam.getParameter<std::string>("trigName");
122  if (std::find(hltFiltersUsed_.begin(), hltFiltersUsed_.end(), trigName) !=
123  hltFiltersUsed_.end()) { //perhaps I should sort hltFiltersUsed_....
124  trigCuts_.push_back(std::make_pair(trigCodes.getCode(trigName), OffEgSel(trigCutParam)));
125  // std::cout<<trigName<<std::endl<<"between"<<std::endl<<trigCutParams_[trigNr]<<std::endl<<"after"<<std::endl;
126  }
127  }
128  trigCutParams_.clear(); //dont need it any more, get rid of it
129 
130  //to make my life difficult, the scaled l1 paths are special
131  //and arent stored in trigger event
132  //to I have to figure out the path, see if it passes
133  //and then hunt down the l1 seed filter and use that to match to the pho/ele
134  //matching on l1 seed filter is not enough as that will be passed for normal
135  //electron triggers even if pre-scale hasnt fired
136  l1PreScaledFilters_.clear();
137  l1PreScaledPaths_.clear();
138  l1PreAndSeedFilters_.clear();
139  for (auto& filterNr : hltFiltersUsed_) {
140  if (filterNr.find("hltPreL1") == 0) { //l1 prescaled path
141  l1PreScaledFilters_.push_back(filterNr);
142  }
143  }
144 
146  if (l1PreScaledPaths_.size() == l1PreScaledFilters_.size()) {
147  for (size_t pathNr = 0; pathNr < l1PreScaledPaths_.size(); pathNr++) {
149  //---Morse====
150  //std::cout<<l1PreScaledFilters_[pathNr]<<" "<<l1PreScaledPaths_[pathNr]<<" "<<l1SeedFilter<<std::endl;
151  //------------
152  l1PreAndSeedFilters_.push_back(std::make_pair(l1PreScaledFilters_[pathNr], l1SeedFilter));
153  }
154  }
155 }
std::vector< std::pair< std::string, std::string > > l1PreAndSeedFilters_
std::vector< std::string > l1PreScaledPaths_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::vector< edm::ParameterSet > trigCutParams_
std::vector< std::pair< std::string, int > > hltFiltersUsedWithNrCandsCut_
std::string getL1SeedFilterOfPath(const HLTConfigProvider &hltConfig, const std::string &path)
std::vector< int > getMinNrObjsRequiredByFilter(const std::vector< std::string > &filterName)
std::vector< std::string > l1PreScaledFilters_
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_
TrigBitSet getCode(const char *descript) const
std::vector< std::string > hltFiltersUsed_
void translateFiltersToPathNames(const HLTConfigProvider &hltConfig, const std::vector< std::string > &filters, std::vector< std::string > &paths)

◆ trigCuts()

const std::vector<std::pair<TrigCodes::TrigBitSet, OffEgSel> >& egHLT::OffHelper::trigCuts ( ) const
inline

Definition at line 199 of file EgHLTOffHelper.h.

References trigCuts_.

199 { return trigCuts_; }
std::vector< std::pair< TrigCodes::TrigBitSet, OffEgSel > > trigCuts_

◆ trigEvt()

const trigger::TriggerEvent* egHLT::OffHelper::trigEvt ( ) const
inline

Definition at line 198 of file EgHLTOffHelper.h.

References edm::Handle< T >::product(), and trigEvt_.

198 { return trigEvt_.product(); }
T const * product() const
Definition: Handle.h:70
edm::Handle< trigger::TriggerEvent > trigEvt_

Member Data Documentation

◆ beamSpot_

edm::Handle<reco::BeamSpot> egHLT::OffHelper::beamSpot_
private

Definition at line 103 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), and getHandles().

◆ beamSpotToken

edm::EDGetTokenT<reco::BeamSpot> egHLT::OffHelper::beamSpotToken
private

Definition at line 77 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ calHLTEleTrkIsol_

bool egHLT::OffHelper::calHLTEleTrkIsol_
private

Definition at line 155 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ calHLTEmIsol_

bool egHLT::OffHelper::calHLTEmIsol_
private

Definition at line 154 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ calHLTHcalIsol_

bool egHLT::OffHelper::calHLTHcalIsol_
private

Definition at line 153 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ calHLTPhoTrkIsol_

bool egHLT::OffHelper::calHLTPhoTrkIsol_
private

Definition at line 156 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ caloGeom_

edm::ESHandle<CaloGeometry> egHLT::OffHelper::caloGeom_
private

Definition at line 87 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

◆ caloGeomToken_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> egHLT::OffHelper::caloGeomToken_
private

Definition at line 82 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ caloJetsToken

edm::EDGetTokenT<reco::CaloJetCollection> egHLT::OffHelper::caloJetsToken
private

Definition at line 70 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ caloTopology_

edm::ESHandle<CaloTopology> egHLT::OffHelper::caloTopology_
private

Definition at line 88 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), and getHandles().

◆ caloTopoToken_

edm::ESGetToken<CaloTopology, CaloTopologyRecord> egHLT::OffHelper::caloTopoToken_
private

Definition at line 83 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ caloTowers_

edm::Handle<CaloTowerCollection> egHLT::OffHelper::caloTowers_
private

Definition at line 104 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and getHandles().

◆ caloTowersToken

edm::EDGetTokenT<CaloTowerCollection> egHLT::OffHelper::caloTowersToken
private

Definition at line 78 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ ebRecHits_

edm::Handle<EcalRecHitCollection> egHLT::OffHelper::ebRecHits_
private

Definition at line 92 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

◆ ecalRecHitsEBToken

edm::EDGetTokenT<EcalRecHitCollection> egHLT::OffHelper::ecalRecHitsEBToken
private

Definition at line 68 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ ecalRecHitsEEToken

edm::EDGetTokenT<EcalRecHitCollection> egHLT::OffHelper::ecalRecHitsEEToken
private

Definition at line 69 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ ecalSeverityLevel_

edm::ESHandle<EcalSeverityLevelAlgo> egHLT::OffHelper::ecalSeverityLevel_
private

Definition at line 90 of file EgHLTOffHelper.h.

Referenced by fillIsolData().

◆ ecalSeverityToken_

edm::ESGetToken<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd> egHLT::OffHelper::ecalSeverityToken_
private

Definition at line 85 of file EgHLTOffHelper.h.

Referenced by setup().

◆ eeRecHits_

edm::Handle<EcalRecHitCollection> egHLT::OffHelper::eeRecHits_
private

Definition at line 93 of file EgHLTOffHelper.h.

Referenced by fillClusShapeData(), fillIsolData(), and getHandles().

◆ electronsToken

edm::EDGetTokenT<reco::GsfElectronCollection> egHLT::OffHelper::electronsToken
private

Definition at line 75 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ eleCuts_

OffEgSel egHLT::OffHelper::eleCuts_
private

Definition at line 62 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and setup().

◆ eleLooseCuts_

OffEgSel egHLT::OffHelper::eleLooseCuts_
private

Definition at line 61 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and setup().

◆ hbheHits_

edm::Handle<HBHERecHitCollection> egHLT::OffHelper::hbheHits_
private

Definition at line 95 of file EgHLTOffHelper.h.

Referenced by getHandles().

◆ hbheHitsToken

edm::EDGetTokenT<HBHERecHitCollection> egHLT::OffHelper::hbheHitsToken
private

Definition at line 72 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ hfHits_

edm::Handle<HFRecHitCollection> egHLT::OffHelper::hfHits_
private

Definition at line 94 of file EgHLTOffHelper.h.

Referenced by getHandles().

◆ hfHitsToken

edm::EDGetTokenT<HFRecHitCollection> egHLT::OffHelper::hfHitsToken
private

Definition at line 73 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ hltEleTrkIsolAlgo_

EgammaHLTTrackIsolation* egHLT::OffHelper::hltEleTrkIsolAlgo_
private

Definition at line 121 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), setup(), and ~OffHelper().

◆ hltEleTrkIsolInnerCone_

double egHLT::OffHelper::hltEleTrkIsolInnerCone_
private

Definition at line 144 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltEleTrkIsolOuterCone_

double egHLT::OffHelper::hltEleTrkIsolOuterCone_
private

Definition at line 143 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltEleTrkIsolPtMin_

double egHLT::OffHelper::hltEleTrkIsolPtMin_
private

Definition at line 142 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltEleTrkIsolRSpan_

double egHLT::OffHelper::hltEleTrkIsolRSpan_
private

Definition at line 146 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltEleTrkIsolZSpan_

double egHLT::OffHelper::hltEleTrkIsolZSpan_
private

Definition at line 145 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltEMIsolEMinEB_

double egHLT::OffHelper::hltEMIsolEMinEB_
private

Definition at line 130 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolEMinEE_

double egHLT::OffHelper::hltEMIsolEMinEE_
private

Definition at line 134 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolEtaSliceEB_

double egHLT::OffHelper::hltEMIsolEtaSliceEB_
private

Definition at line 128 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolEtaSliceEE_

double egHLT::OffHelper::hltEMIsolEtaSliceEE_
private

Definition at line 132 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolEtMinEB_

double egHLT::OffHelper::hltEMIsolEtMinEB_
private

Definition at line 129 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolEtMinEE_

double egHLT::OffHelper::hltEMIsolEtMinEE_
private

Definition at line 133 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolInnerConeEB_

double egHLT::OffHelper::hltEMIsolInnerConeEB_
private

Definition at line 127 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolInnerConeEE_

double egHLT::OffHelper::hltEMIsolInnerConeEE_
private

Definition at line 131 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltEMIsolOuterCone_

double egHLT::OffHelper::hltEMIsolOuterCone_
private

Definition at line 126 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltFiltersUsed_

std::vector<std::string> egHLT::OffHelper::hltFiltersUsed_
private

Definition at line 111 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), setTrigInfo(), and setupTriggers().

◆ hltFiltersUsedWithNrCandsCut_

std::vector<std::pair<std::string, int> > egHLT::OffHelper::hltFiltersUsedWithNrCandsCut_
private

Definition at line 113 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

◆ hltHadIsolDepth_

int egHLT::OffHelper::hltHadIsolDepth_
private

Definition at line 151 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltHadIsolEtMin_

double egHLT::OffHelper::hltHadIsolEtMin_
private

Definition at line 150 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltHadIsolInnerCone_

double egHLT::OffHelper::hltHadIsolInnerCone_
private

Definition at line 149 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltHadIsolOuterCone_

double egHLT::OffHelper::hltHadIsolOuterCone_
private

Definition at line 148 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltPhoTrkIsolAlgo_

EgammaHLTTrackIsolation* egHLT::OffHelper::hltPhoTrkIsolAlgo_
private

Definition at line 122 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), setup(), and ~OffHelper().

◆ hltPhoTrkIsolCountTrks_

bool egHLT::OffHelper::hltPhoTrkIsolCountTrks_
private

Definition at line 141 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and setup().

◆ hltPhoTrkIsolInnerCone_

double egHLT::OffHelper::hltPhoTrkIsolInnerCone_
private

Definition at line 138 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltPhoTrkIsolOuterCone_

double egHLT::OffHelper::hltPhoTrkIsolOuterCone_
private

Definition at line 137 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltPhoTrkIsolPtMin_

double egHLT::OffHelper::hltPhoTrkIsolPtMin_
private

Definition at line 136 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltPhoTrkIsolRSpan_

double egHLT::OffHelper::hltPhoTrkIsolRSpan_
private

Definition at line 140 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltPhoTrkIsolZSpan_

double egHLT::OffHelper::hltPhoTrkIsolZSpan_
private

Definition at line 139 of file EgHLTOffHelper.h.

Referenced by setup().

◆ hltTag_

std::string egHLT::OffHelper::hltTag_
private

Definition at line 110 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), setTrigInfo(), and setup().

◆ isolTrks_

edm::Handle<reco::TrackCollection> egHLT::OffHelper::isolTrks_
private

Definition at line 96 of file EgHLTOffHelper.h.

Referenced by fillIsolData(), and getHandles().

◆ isolTrkToken

edm::EDGetTokenT<reco::TrackCollection> egHLT::OffHelper::isolTrkToken
private

Definition at line 71 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ l1PreAndSeedFilters_

std::vector<std::pair<std::string, std::string> > egHLT::OffHelper::l1PreAndSeedFilters_
private

Definition at line 115 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

◆ l1PreScaledFilters_

std::vector<std::string> egHLT::OffHelper::l1PreScaledFilters_
private

Definition at line 117 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

◆ l1PreScaledPaths_

std::vector<std::string> egHLT::OffHelper::l1PreScaledPaths_
private

Definition at line 116 of file EgHLTOffHelper.h.

Referenced by setTrigInfo(), and setupTriggers().

◆ magField_

edm::ESHandle<MagneticField> egHLT::OffHelper::magField_
private

Definition at line 89 of file EgHLTOffHelper.h.

Referenced by getHandles().

◆ magFieldToken_

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> egHLT::OffHelper::magFieldToken_
private

Definition at line 84 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ phoCuts_

OffEgSel egHLT::OffHelper::phoCuts_
private

Definition at line 64 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and setup().

◆ phoLooseCuts_

OffEgSel egHLT::OffHelper::phoLooseCuts_
private

Definition at line 63 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and setup().

◆ photonsToken

edm::EDGetTokenT<reco::PhotonCollection> egHLT::OffHelper::photonsToken
private

Definition at line 76 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ recoEles_

edm::Handle<reco::GsfElectronCollection> egHLT::OffHelper::recoEles_
private

Definition at line 100 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and getHandles().

◆ recoJets_

edm::Handle<std::vector<reco::CaloJet> > egHLT::OffHelper::recoJets_
private

Definition at line 101 of file EgHLTOffHelper.h.

Referenced by getHandles(), and makeOffEvt().

◆ recoPhos_

edm::Handle<reco::PhotonCollection> egHLT::OffHelper::recoPhos_
private

Definition at line 99 of file EgHLTOffHelper.h.

Referenced by fillOffPhoVec(), and getHandles().

◆ recoVertices_

edm::Handle<reco::VertexCollection> egHLT::OffHelper::recoVertices_
private

Definition at line 108 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), and getHandles().

◆ trigCutParams_

std::vector<edm::ParameterSet> egHLT::OffHelper::trigCutParams_
private

Definition at line 158 of file EgHLTOffHelper.h.

Referenced by setup(), and setupTriggers().

◆ trigCuts_

std::vector<std::pair<TrigCodes::TrigBitSet, OffEgSel> > egHLT::OffHelper::trigCuts_
private

Definition at line 66 of file EgHLTOffHelper.h.

Referenced by fillOffEleVec(), fillOffPhoVec(), setupTriggers(), and trigCuts().

◆ trigEvt_

edm::Handle<trigger::TriggerEvent> egHLT::OffHelper::trigEvt_
private

Definition at line 98 of file EgHLTOffHelper.h.

Referenced by fillHLTData(), fillHLTDataPho(), getHandles(), setTrigInfo(), and trigEvt().

◆ triggerSummaryToken

edm::EDGetTokenT<trigger::TriggerEvent> egHLT::OffHelper::triggerSummaryToken
private

Definition at line 74 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ trigResults_

edm::Handle<edm::TriggerResults> egHLT::OffHelper::trigResults_
private

Definition at line 106 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setTrigInfo().

◆ trigResultsToken

edm::EDGetTokenT<edm::TriggerResults> egHLT::OffHelper::trigResultsToken
private

Definition at line 79 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().

◆ vertexToken

edm::EDGetTokenT<reco::VertexCollection> egHLT::OffHelper::vertexToken
private

Definition at line 80 of file EgHLTOffHelper.h.

Referenced by getHandles(), and setup().