CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HcalIsoTrkSimAnalyzer Class Reference
Inheritance diagram for HcalIsoTrkSimAnalyzer:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 HcalIsoTrkSimAnalyzer (edm::ParameterSet const &)
 
 ~HcalIsoTrkSimAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex >
const & 
esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector
< ProductResolverIndexAndSkipBit >
const & 
itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
double dR (math::XYZTLorentzVector &, math::XYZTLorentzVector &)
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
double eThreshold (const DetId &id, const CaloGeometry *geo) const
 
std::array< int, 3 > fillTree (std::vector< math::XYZTLorentzVector > &vecL1, std::vector< math::XYZTLorentzVector > &vecL3, math::XYZPoint &leadPV, std::vector< spr::propagatedGenParticleID > &trackIDs, const CaloGeometry *geo, const CaloTopology *topo, const HcalTopology *theHBHETopology, const EcalChannelStatus *theEcalChStatus, const EcalSeverityLevelAlgo *theEcalSevlv, edm::Handle< EcalRecHitCollection > &barrelRecHitsHandle, edm::Handle< EcalRecHitCollection > &endcapRecHitsHandle, edm::Handle< HBHERecHitCollection > &hbhe, const edm::Handle< CaloTowerCollection > &towerHandle, edm::Handle< reco::GenParticleCollection > &genParticles, const HcalRespCorrs *respCorrs)
 
DetId newId (const DetId &)
 
bool notaMuon (const reco::GenParticle *pTrack)
 
double rhoh (const edm::Handle< CaloTowerCollection > &)
 
void storeEnergy (int indx, const HcalRespCorrs *respCorrs, const std::vector< DetId > &ids, std::vector< double > &edet, double &eHcal, std::vector< unsigned int > *detIds, std::vector< double > *hitEnergies)
 

Private Attributes

double a_charIsoR_
 
double a_coneR1_
 
double a_coneR2_
 
const double a_coneR_
 
const double a_mipR2_
 
const double a_mipR3_
 
const double a_mipR4_
 
const double a_mipR5_
 
const double a_mipR_
 
const edm::InputTag algTag_
 
const bool collapseDepth_
 
const int dataType_
 
const double eEcalMax_
 
const double eIsolate1_
 
const double eIsolate2_
 
std::vector< double > etabins_
 
double etadist_
 
double etahalfdist_
 
const double etaMax_
 
const EcalPFRecHitThresholdseThresholds_
 
const edm::InputTag extTag_
 
const double hcalScale_
 
const HcalDDDRecConstantshdc_
 
const bool hep17_
 
const double hitEthrEB_
 
const double hitEthrEE0_
 
const double hitEthrEE1_
 
const double hitEthrEE2_
 
const double hitEthrEE3_
 
const double hitEthrEEHi_
 
const double hitEthrEELo_
 
HLTConfigProvider hltConfig_
 
const bool ignoreTrigger_
 
const std::string l1Filter_
 
l1t::L1TGlobalUtill1GtUtils_
 
const std::string l1TrigName_
 
const std::string l2Filter_
 
const std::string l3Filter_
 
const std::string labelBS_
 
const std::string labelEB_
 
const std::string labelEE_
 
const std::string labelGenTrack_
 
const std::string labelHBHE_
 
const std::string labelRecVtx_
 
const std::string labelTower_
 
const double maxRestrictionP_
 
const int mode_
 
const std::string modnam_
 
const std::vector< int > newDepth_
 
unsigned int nHigh_
 
unsigned int nLow_
 
unsigned int nRun_
 
std::vector< int > oldDepth_
 
std::vector< int > oldDet_
 
std::vector< int > oldEta_
 
const std::vector< int > oldID_
 
std::vector< double > phibins_
 
double phidist_
 
double phihalfdist_
 
const std::string prdnam_
 
const int prescaleHigh_
 
const int prescaleLow_
 
const std::string processName_
 
const double ptMin_
 
const double pTrackHigh_
 
const double pTrackLow_
 
const double pTrackMin_
 
const double slopeRestrictionP_
 
int t_allvertex
 
int t_DataType
 
std::vector< unsigned int > * t_DetIds
 
std::vector< unsigned int > * t_DetIds1
 
std::vector< unsigned int > * t_DetIds3
 
double t_eAnnular
 
double t_eHcal
 
double t_eHcal10
 
double t_eHcal30
 
double t_emaxNearP
 
double t_eMipDR
 
double t_eMipDR2
 
double t_eMipDR3
 
double t_eMipDR4
 
double t_eMipDR5
 
int t_Event
 
unsigned int t_EventNo
 
double t_EventWeight
 
double t_gentrackP
 
int t_goodPV
 
double t_hAnnular
 
std::vector< double > * t_HitEnergies
 
std::vector< double > * t_HitEnergies1
 
std::vector< double > * t_HitEnergies3
 
std::vector< bool > * t_hltbits
 
double t_hmaxNearP
 
int t_ieta
 
std::vector< int > * t_ietaAll
 
std::vector< int > * t_ietaGood
 
int t_iphi
 
bool t_L1Bit
 
double t_l1eta
 
double t_l1phi
 
double t_l1pt
 
double t_l3eta
 
double t_l3phi
 
double t_l3pt
 
double t_mindR1
 
double t_mindR2
 
int t_nTrk
 
int t_nVtx
 
double t_p
 
double t_phi
 
double t_pt
 
bool t_qltyFlag
 
bool t_qltyMissFlag
 
bool t_qltyPVFlag
 
double t_rhoh
 
int t_Run
 
unsigned int t_RunNo
 
bool t_selectTk
 
int t_Tracks
 
int t_TracksLoose
 
int t_TracksProp
 
int t_TracksSaved
 
int t_TracksTight
 
std::vector< int > * t_trackType
 
std::vector< bool > * t_trgbits
 
bool t_TrigPass
 
bool t_TrigPassSel
 
const edm::InputTag theTriggerResultsLabel_
 
edm::EDGetTokenT< BXVector
< GlobalAlgBlk > > 
tok_alg_
 
edm::ESGetToken< MagneticField,
IdealMagneticFieldRecord
tok_bFieldH_
 
edm::EDGetTokenT< reco::BeamSpottok_bs_
 
edm::EDGetTokenT
< CaloTowerCollection
tok_cala_
 
edm::ESGetToken< CaloTopology,
CaloTopologyRecord
tok_caloTopology_
 
edm::ESGetToken
< HcalDDDRecConstants,
HcalRecNumberingRecord
tok_ddrec_
 
edm::EDGetTokenT
< EcalRecHitCollection
tok_EB_
 
edm::ESGetToken
< EcalChannelStatus,
EcalChannelStatusRcd
tok_ecalChStatus_
 
edm::ESGetToken
< EcalPFRecHitThresholds,
EcalPFRecHitThresholdsRcd
tok_ecalPFRecHitThresholds_
 
edm::EDGetTokenT
< EcalRecHitCollection
tok_EE_
 
edm::EDGetTokenT
< GenEventInfoProduct
tok_ew_
 
edm::ESGetToken< CaloGeometry,
CaloGeometryRecord
tok_geom_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::ESGetToken< HcalTopology,
HcalRecNumberingRecord
tok_htopo_
 
edm::EDGetTokenT
< reco::GenParticleCollection
tok_parts_
 
edm::ESGetToken
< HepPDT::ParticleDataTable,
PDTRecord
tok_pdt_
 
edm::EDGetTokenT
< reco::VertexCollection
tok_recVtx_
 
edm::ESGetToken< HcalRespCorrs,
HcalRespCorrsRcd
tok_resp_
 
edm::ESGetToken
< EcalSeverityLevelAlgo,
EcalSeverityLevelAlgoRcd
tok_sevlv_
 
edm::EDGetTokenT
< trigger::TriggerEvent
tok_trigEvt_
 
edm::EDGetTokenT
< edm::TriggerResults
tok_trigRes_
 
TTree * tree
 
TTree * tree2
 
const edm::InputTag triggerEvent_
 
const std::vector< std::string > trigNames_
 
const bool unCorrect_
 
const bool useL1Trigger_
 
const bool usePFThresh_
 
const int useRaw_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Definition at line 85 of file HcalIsoTrkSimAnalyzer.cc.

Constructor & Destructor Documentation

HcalIsoTrkSimAnalyzer::HcalIsoTrkSimAnalyzer ( edm::ParameterSet const &  iConfig)
explicit

Definition at line 208 of file HcalIsoTrkSimAnalyzer.cc.

References a_charIsoR_, a_coneR1_, a_coneR2_, a_coneR_, a_mipR2_, a_mipR3_, a_mipR4_, a_mipR5_, a_mipR_, algTag_, collapseDepth_, edm::EDConsumerBase::consumesCollector(), dataType_, eEcalMax_, eIsolate1_, eIsolate2_, PVValHelper::eta, etabins_, etadist_, etahalfdist_, etaMax_, l1t::Event, extTag_, hcalScale_, hep17_, hitEthrEB_, hitEthrEE0_, hitEthrEE1_, hitEthrEE2_, hitEthrEE3_, hitEthrEEHi_, hitEthrEELo_, mps_fire::i, ignoreTrigger_, HLT_FULL_cff::InputTag, isotrackApplyRegressor::k, relval_steps::k2, TFileService::kSharedResource, l1Filter_, l1GtUtils_, l1TrigName_, l2Filter_, l3Filter_, labelBS_, labelEB_, labelEE_, labelGenTrack_, labelHBHE_, labelRecVtx_, labelTower_, M_PI, maxRestrictionP_, mode_, modnam_, newDepth_, oldDepth_, oldDet_, oldEta_, oldID_, phi, phibins_, phidist_, phihalfdist_, prdnam_, prescaleHigh_, prescaleLow_, processName_, ptMin_, pTrackHigh_, pTrackLow_, pTrackMin_, slopeRestrictionP_, theTriggerResultsLabel_, triggerEvent_, trigNames_, unCorrect_, useL1Trigger_, usePFThresh_, and useRaw_.

209  : trigNames_(iConfig.getParameter<std::vector<std::string> >("triggers")),
210  processName_(iConfig.getParameter<std::string>("processName")),
211  l1Filter_(iConfig.getParameter<std::string>("l1Filter")),
212  l2Filter_(iConfig.getParameter<std::string>("l2Filter")),
213  l3Filter_(iConfig.getParameter<std::string>("l3Filter")),
214  ptMin_(iConfig.getParameter<double>("pTMin")),
215  etaMax_(iConfig.getParameter<double>("maxChargedHadronEta")),
216  a_coneR_(iConfig.getParameter<double>("coneRadius")),
217  a_mipR_(iConfig.getParameter<double>("coneRadiusMIP")),
218  a_mipR2_(iConfig.getParameter<double>("coneRadiusMIP2")),
219  a_mipR3_(iConfig.getParameter<double>("coneRadiusMIP3")),
220  a_mipR4_(iConfig.getParameter<double>("coneRadiusMIP4")),
221  a_mipR5_(iConfig.getParameter<double>("coneRadiusMIP5")),
222  pTrackMin_(iConfig.getParameter<double>("minimumTrackP")),
223  eEcalMax_(iConfig.getParameter<double>("maximumEcalEnergy")),
224  maxRestrictionP_(iConfig.getParameter<double>("maxTrackP")),
225  slopeRestrictionP_(iConfig.getParameter<double>("slopeTrackP")),
226  hcalScale_(iConfig.getUntrackedParameter<double>("hHcalScale", 1.0)),
227  eIsolate1_(iConfig.getParameter<double>("isolationEnergyTight")),
228  eIsolate2_(iConfig.getParameter<double>("isolationEnergyLoose")),
229  pTrackLow_(iConfig.getParameter<double>("momentumLow")),
230  pTrackHigh_(iConfig.getParameter<double>("momentumHigh")),
231  prescaleLow_(iConfig.getParameter<int>("prescaleLow")),
232  prescaleHigh_(iConfig.getParameter<int>("prescaleHigh")),
233  useRaw_(iConfig.getUntrackedParameter<int>("useRaw", 0)),
234  dataType_(iConfig.getUntrackedParameter<int>("dataType", 0)),
235  mode_(iConfig.getUntrackedParameter<int>("outMode", 11)),
236  ignoreTrigger_(iConfig.getUntrackedParameter<bool>("ignoreTriggers", false)),
237  useL1Trigger_(iConfig.getUntrackedParameter<bool>("useL1Trigger", false)),
238  unCorrect_(iConfig.getUntrackedParameter<bool>("unCorrect", false)),
239  collapseDepth_(iConfig.getUntrackedParameter<bool>("collapseDepth", false)),
240  hitEthrEB_(iConfig.getParameter<double>("EBHitEnergyThreshold")),
241  hitEthrEE0_(iConfig.getParameter<double>("EEHitEnergyThreshold0")),
242  hitEthrEE1_(iConfig.getParameter<double>("EEHitEnergyThreshold1")),
243  hitEthrEE2_(iConfig.getParameter<double>("EEHitEnergyThreshold2")),
244  hitEthrEE3_(iConfig.getParameter<double>("EEHitEnergyThreshold3")),
245  hitEthrEELo_(iConfig.getParameter<double>("EEHitEnergyThresholdLow")),
246  hitEthrEEHi_(iConfig.getParameter<double>("EEHitEnergyThresholdHigh")),
247  triggerEvent_(iConfig.getParameter<edm::InputTag>("labelTriggerEvent")),
248  theTriggerResultsLabel_(iConfig.getParameter<edm::InputTag>("labelTriggerResult")),
249  labelGenTrack_(iConfig.getParameter<std::string>("labelTrack")),
250  labelRecVtx_(iConfig.getParameter<std::string>("labelVertex")),
251  labelEB_(iConfig.getParameter<std::string>("labelEBRecHit")),
252  labelEE_(iConfig.getParameter<std::string>("labelEERecHit")),
253  labelHBHE_(iConfig.getParameter<std::string>("labelHBHERecHit")),
254  labelTower_(iConfig.getParameter<std::string>("labelCaloTower")),
255  l1TrigName_(iConfig.getUntrackedParameter<std::string>("l1TrigName", "L1_SingleJet60")),
256  oldID_(iConfig.getUntrackedParameter<std::vector<int> >("oldID")),
257  newDepth_(iConfig.getUntrackedParameter<std::vector<int> >("newDepth")),
258  hep17_(iConfig.getUntrackedParameter<bool>("hep17")),
259  usePFThresh_(iConfig.getParameter<bool>("usePFThreshold")),
260  labelBS_(iConfig.getParameter<std::string>("labelBeamSpot")),
261  modnam_(iConfig.getUntrackedParameter<std::string>("moduleName", "")),
262  prdnam_(iConfig.getUntrackedParameter<std::string>("producerName", "")),
263  algTag_(iConfig.getParameter<edm::InputTag>("algInputTag")),
264  extTag_(iConfig.getParameter<edm::InputTag>("extInputTag")),
265  tok_trigEvt_(consumes<trigger::TriggerEvent>(triggerEvent_)),
266  tok_trigRes_(consumes<edm::TriggerResults>(theTriggerResultsLabel_)),
267  tok_bs_(consumes<reco::BeamSpot>(labelBS_)),
268  tok_recVtx_((modnam_.empty()) ? consumes<reco::VertexCollection>(labelRecVtx_)
276  tok_ew_(consumes<GenEventInfoProduct>(edm::InputTag("generator"))),
277  tok_parts_(consumes<reco::GenParticleCollection>(edm::InputTag("genParticles"))),
290  nRun_(0),
291  nLow_(0),
292  nHigh_(0),
293  hdc_(nullptr) {
294  usesResource(TFileService::kSharedResource);
295 
296  //now do whatever initialization is needed
297  const double isolationRadius(28.9), innerR(10.0), outerR(30.0);
298  a_charIsoR_ = a_coneR_ + isolationRadius;
299  a_coneR1_ = a_coneR_ + innerR;
300  a_coneR2_ = a_coneR_ + outerR;
301  // Different isolation cuts are described in DN-2016/029
302  // Tight cut uses 2 GeV; Loose cut uses 10 GeV
303  // Eta dependent cut uses (maxRestrictionP_ * exp(|ieta|*log(2.5)/18))
304  // with the factor for exponential slopeRestrictionP_ = log(2.5)/18
305  // maxRestrictionP_ = 8 GeV as came from a study
306 
307  for (unsigned int k = 0; k < oldID_.size(); ++k) {
308  oldDet_.emplace_back((oldID_[k] / 10000) % 10);
309  oldEta_.emplace_back((oldID_[k] / 100) % 100);
310  oldDepth_.emplace_back(oldID_[k] % 100);
311  }
312 
313  l1GtUtils_ =
315 
316  if (modnam_.empty()) {
317  edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " "
318  << labelBS_ << " " << labelRecVtx_ << " " << labelGenTrack_ << " "
319  << edm::InputTag("ecalRecHit", labelEB_) << " "
320  << edm::InputTag("ecalRecHit", labelEE_) << " " << labelHBHE_ << " "
321  << labelTower_;
322  } else {
323  edm::LogVerbatim("HcalIsoTrack") << "Labels used " << triggerEvent_ << " " << theTriggerResultsLabel_ << " "
324  << labelBS_ << " " << edm::InputTag(modnam_, labelRecVtx_, prdnam_) << " "
325  << labelGenTrack_ << " " << edm::InputTag(modnam_, labelEB_, prdnam_) << " "
328  }
329 
330  edm::LogVerbatim("HcalIsoTrack") << "Parameters read from config file \n"
331  << "\t minPt " << ptMin_ << "\t etaMax " << etaMax_ << "\t a_coneR " << a_coneR_
332  << ":" << a_coneR1_ << ":" << a_coneR2_ << "\t a_charIsoR " << a_charIsoR_
333  << "\t a_mipR " << a_mipR_ << "\t a_mipR2 " << a_mipR2_ << "\t a_mipR3 " << a_mipR3_
334  << "\t a_mipR4 " << a_mipR4_ << "\t a_mipR5 " << a_mipR5_ << "\n pTrackMin_ "
335  << pTrackMin_ << "\t eEcalMax_ " << eEcalMax_ << "\t maxRestrictionP_ "
336  << maxRestrictionP_ << "\t slopeRestrictionP_ " << slopeRestrictionP_
337  << "\t eIsolateStrong_ " << eIsolate1_ << "\t eIsolateSoft_ " << eIsolate2_
338  << "\t hcalScale_ " << hcalScale_ << "\n\t momentumLow_ " << pTrackLow_
339  << "\t prescaleLow_ " << prescaleLow_ << "\t momentumHigh_ " << pTrackHigh_
340  << "\t prescaleHigh_ " << prescaleHigh_ << "\n\t useRaw_ " << useRaw_
341  << "\t ignoreTrigger_ " << ignoreTrigger_ << "\n\t useL1Trigegr_ " << useL1Trigger_
342  << "\t dataType_ " << dataType_ << "\t mode_ " << mode_
343  << "\t unCorrect_ " << unCorrect_ << "\t collapseDepth_ " << collapseDepth_
344  << "\t L1TrigName_ " << l1TrigName_ << "\nThreshold flag used " << usePFThresh_
345  << " value for EB " << hitEthrEB_ << " EE " << hitEthrEE0_ << ":" << hitEthrEE1_
346  << ":" << hitEthrEE2_ << ":" << hitEthrEE3_ << ":" << hitEthrEELo_ << ":"
347  << hitEthrEEHi_;
348  edm::LogVerbatim("HcalIsoTrack") << "Process " << processName_ << " L1Filter:" << l1Filter_
349  << " L2Filter:" << l2Filter_ << " L3Filter:" << l3Filter_;
350  for (unsigned int k = 0; k < trigNames_.size(); ++k) {
351  edm::LogVerbatim("HcalIsoTrack") << "Trigger[" << k << "] " << trigNames_[k];
352  }
353  edm::LogVerbatim("HcalIsoTrack") << oldID_.size() << " DetIDs to be corrected with HEP17 flag:" << hep17_;
354  for (unsigned int k = 0; k < oldID_.size(); ++k)
355  edm::LogVerbatim("HcalIsoTrack") << "[" << k << "] Det " << oldDet_[k] << " EtaAbs " << oldEta_[k] << " Depth "
356  << oldDepth_[k] << ":" << newDepth_[k];
357 
358  for (int i = 0; i < 10; i++)
359  phibins_.push_back(-M_PI + 0.1 * (2 * i + 1) * M_PI);
360  for (int i = 0; i < 8; ++i)
361  etabins_.push_back(-2.1 + 0.6 * i);
362  etadist_ = etabins_[1] - etabins_[0];
363  phidist_ = phibins_[1] - phibins_[0];
364  etahalfdist_ = 0.5 * etadist_;
365  phihalfdist_ = 0.5 * phidist_;
366  edm::LogVerbatim("HcalIsoTrack") << "EtaDist " << etadist_ << " " << etahalfdist_ << " PhiDist " << phidist_ << " "
367  << phihalfdist_;
368  unsigned int k1(0), k2(0);
369  for (auto phi : phibins_) {
370  edm::LogVerbatim("HcalIsoTrack") << "phibin_[" << k1 << "] " << phi;
371  ++k1;
372  }
373  for (auto eta : etabins_) {
374  edm::LogVerbatim("HcalIsoTrack") << "etabin_[" << k2 << "] " << eta;
375  ++k2;
376  }
377 }
static const std::string kSharedResource
Definition: TFileService.h:76
Log< level::Info, true > LogVerbatim
std::vector< GenParticle > GenParticleCollection
collection of GenParticles
const std::vector< int > newDepth_
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
HepPDT::ParticleDataTable ParticleDataTable
const std::string labelRecVtx_
const std::vector< std::string > trigNames_
l1t::L1TGlobalUtil * l1GtUtils_
const edm::InputTag algTag_
std::vector< double > etabins_
std::vector< double > phibins_
const edm::InputTag triggerEvent_
std::vector< Vertex > VertexCollection
Definition: Vertex.h:12
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > tok_sevlv_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_caloTopology_
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const std::vector< int > oldID_
std::vector< int > oldDepth_
edm::EDGetTokenT< BXVector< GlobalAlgBlk > > tok_alg_
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
const HcalDDDRecConstants * hdc_
Transition
Definition: Transition.h:12
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_htopo_
const edm::InputTag extTag_
edm::EDGetTokenT< reco::GenParticleCollection > tok_parts_
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
#define M_PI
edm::EDGetTokenT< CaloTowerCollection > tok_cala_
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > tok_ecalChStatus_
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > tok_ecalPFRecHitThresholds_
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
const std::string processName_
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_ddrec_
edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_resp_
edm::ESGetToken< HepPDT::ParticleDataTable, PDTRecord > tok_pdt_
const std::string labelGenTrack_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_bFieldH_
const edm::InputTag theTriggerResultsLabel_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
HcalIsoTrkSimAnalyzer::~HcalIsoTrkSimAnalyzer ( )
overridedefault

Member Function Documentation

void HcalIsoTrkSimAnalyzer::analyze ( edm::Event const &  iEvent,
edm::EventSetup const &  iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 379 of file HcalIsoTrkSimAnalyzer.cc.

References ecalTB2006H4_GenSimDigiReco_cfg::bField, edm::EventBase::bunchCrossing(), dataType_, l1t::L1TGlobalUtil::decisionsFinal(), fileCollector::done, dR(), runTauDisplay::dr, trigger::TriggerObject::energy(), trigger::TriggerObject::eta(), etaMax_, eThresholds_, edm::EventID::event(), fillTree(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::filterTag(), spr::find(), genParticleCandidates2GenParticles_cfi::genParticles, edm::EventSetup::getData(), edm::Event::getHandle(), trigger::TriggerEvent::getObjects(), ValidationMatrix::hlt, hltConfig_, mps_fire::i, trigger::TriggerObject::id(), edm::EventBase::id(), ignoreTrigger_, edm::HandleBase::isValid(), isotrackApplyRegressor::k, l1Filter_, l1GtUtils_, l1TrigName_, l2Filter_, l3Filter_, label, edm::InputTag::label(), labelEB_, labelEE_, labelHBHE_, edm::EventBase::luminosityBlock(), trigger::TriggerObject::mass(), HLTConfigProvider::moduleLabels(), TrackingSourceConfig_Tier0_Cosmic_cff::modules, names, convertSQLiteXML::ok, trigger::TriggerObject::phi(), edm::Handle< T >::product(), spr::propagateCALO(), trigger::TriggerObject::pt(), trigger::TriggerObject::px(), trigger::TriggerObject::py(), trigger::TriggerObject::pz(), l1t::L1TGlobalUtil::retrieveL1(), edm::EventID::run(), HcalCondObjectContainerBase::setTopo(), findQualityFiles::size, trigger::TriggerEvent::sizeFilters(), AlCaHLTBitMon_QueryRunRegistry::string, t_allvertex, t_DataType, t_Event, t_EventNo, t_EventWeight, t_goodPV, t_hltbits, t_ietaAll, t_ietaGood, t_L1Bit, t_l1eta, t_l1phi, t_l1pt, t_l3eta, t_l3phi, t_l3pt, t_nVtx, t_Run, t_RunNo, t_Tracks, t_TracksLoose, t_TracksProp, t_TracksSaved, t_TracksTight, t_trackType, t_trgbits, t_TrigPass, t_TrigPassSel, tok_alg_, tok_bFieldH_, tok_bs_, tok_cala_, tok_caloTopology_, tok_EB_, tok_ecalChStatus_, tok_ecalPFRecHitThresholds_, tok_EE_, tok_ew_, tok_geom_, tok_hbhe_, tok_htopo_, tok_parts_, tok_pdt_, tok_recVtx_, tok_resp_, tok_sevlv_, tok_trigEvt_, tok_trigRes_, tree2, triggerEvent_, HLTConfigProvider::triggerIndex(), edm::TriggerNames::triggerNames(), L1TMuonDQMOffline_cfi::triggerNames, edm::Event::triggerNames(), triggerResults, trigNames_, useL1Trigger_, x, y, and z.

379  {
380  t_Run = iEvent.id().run();
381  t_Event = iEvent.id().event();
383 #ifdef EDM_ML_DEBUG
384  edm::LogVerbatim("HcalIsoTrack") << "Run " << t_Run << " Event " << t_Event << " type " << t_DataType
385  << " Luminosity " << iEvent.luminosityBlock() << " Bunch " << iEvent.bunchCrossing();
386 #endif
387  //Get magnetic field and ECAL channel status
388  const MagneticField* bField = &iSetup.getData(tok_bFieldH_);
389  const EcalChannelStatus* theEcalChStatus = &iSetup.getData(tok_ecalChStatus_);
390  const EcalSeverityLevelAlgo* theEcalSevlv = &iSetup.getData(tok_sevlv_);
391 
392  // get calogeometry and calotopology
393  const CaloGeometry* geo = &iSetup.getData(tok_geom_);
394  const CaloTopology* caloTopology = &iSetup.getData(tok_caloTopology_);
395  const HcalTopology* theHBHETopology = &iSetup.getData(tok_htopo_);
396 
397  // get response correction
398  const HcalRespCorrs* resp = &iSetup.getData(tok_resp_);
399  HcalRespCorrs* respCorrs = new HcalRespCorrs(*resp);
400  respCorrs->setTopo(theHBHETopology);
401 
402  // get ECAL thresholds
403  eThresholds_ = &iSetup.getData(tok_ecalPFRecHitThresholds_);
404 
405  // get particle data table
406  const HepPDT::ParticleDataTable* pdt = &iSetup.getData(tok_pdt_);
407 
408  //=== genParticle information
409  bool okC(true);
411  if (!genParticles.isValid()) {
412  edm::LogWarning("HcalIsoTrack") << "Cannot access the genParticles collection";
413  okC = false;
414  }
415 
416  //event weight for FLAT sample
417  t_EventWeight = 1.0;
418  const edm::Handle<GenEventInfoProduct> genEventInfo = iEvent.getHandle(tok_ew_);
419  if (genEventInfo.isValid())
420  t_EventWeight = genEventInfo->weight();
421 
422  //Define the best vertex and the beamspot
423  const edm::Handle<reco::VertexCollection> recVtxs = iEvent.getHandle(tok_recVtx_);
424  const edm::Handle<reco::BeamSpot> beamSpotH = iEvent.getHandle(tok_bs_);
425  math::XYZPoint leadPV(0, 0, 0);
426  t_goodPV = t_nVtx = 0;
427  if (recVtxs.isValid() && !(recVtxs->empty())) {
428  t_nVtx = recVtxs->size();
429  for (unsigned int k = 0; k < recVtxs->size(); ++k) {
430  if (!((*recVtxs)[k].isFake()) && ((*recVtxs)[k].ndof() > 4)) {
431  if (t_goodPV == 0)
432  leadPV = math::XYZPoint((*recVtxs)[k].x(), (*recVtxs)[k].y(), (*recVtxs)[k].z());
433  t_goodPV++;
434  }
435  }
436  }
437  if (t_goodPV == 0 && beamSpotH.isValid()) {
438  leadPV = beamSpotH->position();
439  }
441 #ifdef EDM_ML_DEBUG
442  edm::LogVerbatim("HcalIsoTrack") << "Primary Vertex " << leadPV << " out of " << t_goodPV << " vertex";
443  if (beamSpotH.isValid()) {
444  edm::LogVerbatim("HcalIsoTrack") << " Beam Spot " << beamSpotH->position();
445  }
446 #endif
447  // RecHits
448  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle = iEvent.getHandle(tok_EB_);
449  if (!barrelRecHitsHandle.isValid()) {
450  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEB_;
451  okC = false;
452  }
453  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle = iEvent.getHandle(tok_EE_);
454  if (!endcapRecHitsHandle.isValid()) {
455  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelEE_;
456  okC = false;
457  }
459  if (!hbhe.isValid()) {
460  edm::LogWarning("HcalIsoTrack") << "Cannot access the collection " << labelHBHE_;
461  okC = false;
462  }
463  const edm::Handle<CaloTowerCollection> caloTower = iEvent.getHandle(tok_cala_);
464 
465  //Propagate tracks to calorimeter surface)
466  std::vector<spr::propagatedGenParticleID> trackIDs =
467  spr::propagateCALO(genParticles, pdt, geo, bField, etaMax_, false);
468  std::vector<math::XYZTLorentzVector> vecL1, vecL3;
469  t_RunNo = iEvent.id().run();
470  t_EventNo = iEvent.id().event();
471  t_Tracks = (genParticles.product())->size();
472  t_TracksProp = trackIDs.size();
473  t_ietaAll->clear();
474  t_ietaGood->clear();
475  t_trackType->clear();
476  t_trgbits->clear();
477  t_hltbits->clear();
478 #ifdef EDM_ML_DEBUG
479  edm::LogVerbatim("HcalIsoTrack") << "# of propagated tracks " << t_TracksProp << " out of " << t_Tracks
480  << " with Trigger " << ignoreTrigger_;
481 #endif
482 
483  //Trigger
484  t_trgbits->assign(trigNames_.size(), false);
485  t_hltbits->assign(trigNames_.size(), false);
487  t_L1Bit = true;
488  t_TrigPass = false;
489 
490  if (!ignoreTrigger_) {
491  //L1
493  const std::vector<std::pair<std::string, bool> >& finalDecisions = l1GtUtils_->decisionsFinal();
494  for (const auto& decision : finalDecisions) {
495  if (decision.first.find(l1TrigName_) != std::string::npos) {
496  t_L1Bit = decision.second;
497  break;
498  }
499  }
500 #ifdef EDM_ML_DEBUG
501  edm::LogVerbatim("HcalIsoTrack") << "Trigger Information for " << l1TrigName_ << " is " << t_L1Bit
502  << " from a list of " << finalDecisions.size() << " decisions";
503 #endif
504 
505  //HLT
507  if (triggerResults.isValid()) {
508  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
509  const std::vector<std::string>& names = triggerNames.triggerNames();
510  if (!trigNames_.empty()) {
511  for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
512  int hlt = triggerResults->accept(iHLT);
513  for (unsigned int i = 0; i < trigNames_.size(); ++i) {
514  if (names[iHLT].find(trigNames_[i]) != std::string::npos) {
515  t_trgbits->at(i) = (hlt > 0);
516  t_hltbits->at(i) = (hlt > 0);
517  if (hlt > 0)
518  t_TrigPass = true;
519 #ifdef EDM_ML_DEBUG
520  edm::LogVerbatim("HcalIsoTrack")
521  << "This trigger " << names[iHLT] << " Flag " << hlt << ":" << t_trgbits->at(i);
522 #endif
523  }
524  }
525  }
526  }
527  }
528 #ifdef EDM_ML_DEBUG
529  edm::LogVerbatim("HcalIsoTrack") << "HLT Information shows " << t_TrigPass << ":" << trigNames_.empty() << ":"
530  << okC;
531 #endif
532  }
533 
534  std::array<int, 3> ntksave{{0, 0, 0}};
535  if (ignoreTrigger_ || useL1Trigger_) {
536  t_l1pt = t_l1eta = t_l1phi = 0;
537  t_l3pt = t_l3eta = t_l3phi = 0;
538  if (ignoreTrigger_ || t_L1Bit)
539  ntksave = fillTree(vecL1,
540  vecL3,
541  leadPV,
542  trackIDs,
543  geo,
544  caloTopology,
545  theHBHETopology,
546  theEcalChStatus,
547  theEcalSevlv,
548  barrelRecHitsHandle,
549  endcapRecHitsHandle,
550  hbhe,
551  caloTower,
552  genParticles,
553  respCorrs);
554  t_TracksSaved = ntksave[0];
555  t_TracksLoose = ntksave[1];
556  t_TracksTight = ntksave[2];
557  } else {
558  trigger::TriggerEvent triggerEvent;
559  edm::Handle<trigger::TriggerEvent> triggerEventHandle = iEvent.getHandle(tok_trigEvt_);
560  if (!triggerEventHandle.isValid()) {
561  edm::LogWarning("HcalIsoTrack") << "Error! Can't get the product " << triggerEvent_.label();
562  } else if (okC) {
563  triggerEvent = *(triggerEventHandle.product());
564  const edm::Handle<edm::TriggerResults> triggerResults = iEvent.getHandle(tok_trigRes_);
565  const trigger::TriggerObjectCollection& TOC(triggerEvent.getObjects());
566  bool done(false);
567  if (triggerResults.isValid()) {
568  std::vector<std::string> modules;
569  const edm::TriggerNames& triggerNames = iEvent.triggerNames(*triggerResults);
570  const std::vector<std::string>& names = triggerNames.triggerNames();
571  for (unsigned int iHLT = 0; iHLT < triggerResults->size(); iHLT++) {
572  bool ok = (t_TrigPass) || (trigNames_.empty());
573  if (ok) {
574  unsigned int triggerindx = hltConfig_.triggerIndex(names[iHLT]);
575  const std::vector<std::string>& moduleLabels(hltConfig_.moduleLabels(triggerindx));
576  std::vector<math::XYZTLorentzVector> vecL2;
577  vecL1.clear();
578  vecL3.clear();
579  //loop over all trigger filters in event (i.e. filters passed)
580  for (unsigned int ifilter = 0; ifilter < triggerEvent.sizeFilters(); ++ifilter) {
581  std::vector<int> Keys;
582  std::string label = triggerEvent.filterTag(ifilter).label();
583  //loop over keys to objects passing this filter
584  for (unsigned int imodule = 0; imodule < moduleLabels.size(); imodule++) {
585  if (label.find(moduleLabels[imodule]) != std::string::npos) {
586 #ifdef EDM_ML_DEBUG
587  edm::LogVerbatim("HcalIsoTrack") << "FilterName " << label;
588 #endif
589  for (unsigned int ifiltrKey = 0; ifiltrKey < triggerEvent.filterKeys(ifilter).size(); ++ifiltrKey) {
590  Keys.push_back(triggerEvent.filterKeys(ifilter)[ifiltrKey]);
591  const trigger::TriggerObject& TO(TOC[Keys[ifiltrKey]]);
592  math::XYZTLorentzVector v4(TO.px(), TO.py(), TO.pz(), TO.energy());
593  if (label.find(l2Filter_) != std::string::npos) {
594  vecL2.push_back(v4);
595  } else if (label.find(l3Filter_) != std::string::npos) {
596  vecL3.push_back(v4);
597  } else if ((label.find(l1Filter_) != std::string::npos) || (l1Filter_.empty())) {
598  vecL1.push_back(v4);
599  }
600 #ifdef EDM_ML_DEBUG
601  edm::LogVerbatim("HcalIsoTrack")
602  << "key " << ifiltrKey << " : pt " << TO.pt() << " eta " << TO.eta() << " phi " << TO.phi()
603  << " mass " << TO.mass() << " Id " << TO.id();
604 #endif
605  }
606 #ifdef EDM_ML_DEBUG
607  edm::LogVerbatim("HcalIsoTrack")
608  << "sizes " << vecL1.size() << ":" << vecL2.size() << ":" << vecL3.size();
609 #endif
610  }
611  }
612  }
614  math::XYZTLorentzVector mindRvec1;
615  double mindR1(999);
616  for (unsigned int i = 0; i < vecL2.size(); i++) {
617  double dr = dR(vecL1[0], vecL2[i]);
618 #ifdef EDM_ML_DEBUG
619  edm::LogVerbatim("HcalIsoTrack") << "lvl2[" << i << "] dR " << dr;
620 #endif
621  if (dr < mindR1) {
622  mindR1 = dr;
623  mindRvec1 = vecL2[i];
624  }
625  }
626 #ifdef EDM_ML_DEBUG
627  edm::LogVerbatim("HcalIsoTrack") << "L2 object closest to L1 " << mindRvec1 << " at Dr " << mindR1;
628 #endif
629 
630  if (!vecL1.empty()) {
631  t_l1pt = vecL1[0].pt();
632  t_l1eta = vecL1[0].eta();
633  t_l1phi = vecL1[0].phi();
634  } else {
635  t_l1pt = t_l1eta = t_l1phi = 0;
636  }
637  if (!vecL3.empty()) {
638  t_l3pt = vecL3[0].pt();
639  t_l3eta = vecL3[0].eta();
640  t_l3phi = vecL3[0].phi();
641  } else {
642  t_l3pt = t_l3eta = t_l3phi = 0;
643  }
644  // Now fill in the tree for each selected track
645  if (!done) {
646  ntksave = fillTree(vecL1,
647  vecL3,
648  leadPV,
649  trackIDs,
650  geo,
651  caloTopology,
652  theHBHETopology,
653  theEcalChStatus,
654  theEcalSevlv,
655  barrelRecHitsHandle,
656  endcapRecHitsHandle,
657  hbhe,
658  caloTower,
659  genParticles,
660  respCorrs);
661  t_TracksSaved += ntksave[0];
662  t_TracksLoose += ntksave[1];
663  t_TracksTight += ntksave[2];
664  done = true;
665  }
666  }
667  }
668  }
669  }
670  }
671 #ifdef EDM_ML_DEBUG
672  edm::LogVerbatim("HcalIsoTrack") << "Final results on selected tracks " << t_TracksSaved << ":" << t_TracksLoose
673  << ":" << t_TracksTight;
674 #endif
676  tree2->Fill();
677 }
Log< level::Info, true > LogVerbatim
edm::EDGetTokenT< reco::VertexCollection > tok_recVtx_
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:25
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
HepPDT::ParticleDataTable ParticleDataTable
double dR(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
const std::vector< std::string > trigNames_
l1t::L1TGlobalUtil * l1GtUtils_
std::vector< int > * t_ietaGood
const edm::InputTag triggerEvent_
std::vector< bool > * t_hltbits
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
Strings const & triggerNames() const
Definition: TriggerNames.cc:48
const std::string names[nVars_]
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > tok_sevlv_
edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_caloTopology_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
char const * label
int iEvent
Definition: GenABIO.cc:224
const EcalPFRecHitThresholds * eThresholds_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
edm::EDGetTokenT< BXVector< GlobalAlgBlk > > tok_alg_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
std::vector< int > * t_ietaAll
std::vector< int > * t_trackType
edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_htopo_
std::array< int, 3 > fillTree(std::vector< math::XYZTLorentzVector > &vecL1, std::vector< math::XYZTLorentzVector > &vecL3, math::XYZPoint &leadPV, std::vector< spr::propagatedGenParticleID > &trackIDs, const CaloGeometry *geo, const CaloTopology *topo, const HcalTopology *theHBHETopology, const EcalChannelStatus *theEcalChStatus, const EcalSeverityLevelAlgo *theEcalSevlv, edm::Handle< EcalRecHitCollection > &barrelRecHitsHandle, edm::Handle< EcalRecHitCollection > &endcapRecHitsHandle, edm::Handle< HBHERecHitCollection > &hbhe, const edm::Handle< CaloTowerCollection > &towerHandle, edm::Handle< reco::GenParticleCollection > &genParticles, const HcalRespCorrs *respCorrs)
static std::string const triggerResults
Definition: EdmProvDump.cc:44
bool isValid() const
Definition: HandleBase.h:70
edm::EDGetTokenT< reco::GenParticleCollection > tok_parts_
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
const std::vector< std::string > & moduleLabels(unsigned int trigger) const
label(s) of module(s) on a trigger path
edm::EDGetTokenT< CaloTowerCollection > tok_cala_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > tok_ecalChStatus_
const edm::InputTag filterTag(trigger::size_type index) const
Definition: TriggerEvent.h:108
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
T const * product() const
Definition: Handle.h:70
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< size_type > Keys
edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > tok_ecalPFRecHitThresholds_
edm::EDGetTokenT< trigger::TriggerEvent > tok_trigEvt_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
std::string const & label() const
Definition: InputTag.h:36
std::vector< bool > * t_trgbits
edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_resp_
const std::vector< std::pair< std::string, bool > > & decisionsFinal()
edm::ESGetToken< HepPDT::ParticleDataTable, PDTRecord > tok_pdt_
Log< level::Warning, false > LogWarning
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_bFieldH_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
tuple size
Write out results.
void setTopo(const HcalTopology *topo)
void retrieveL1(const edm::Event &iEvent, const edm::EventSetup &evSetup)
initialize the class (mainly reserve)
void HcalIsoTrkSimAnalyzer::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 679 of file HcalIsoTrkSimAnalyzer.cc.

References compareTotals::fs, TFileService::make(), t_allvertex, t_DataType, t_DetIds, t_DetIds1, t_DetIds3, t_eAnnular, t_eHcal, t_eHcal10, t_eHcal30, t_emaxNearP, t_eMipDR, t_eMipDR2, t_eMipDR3, t_eMipDR4, t_eMipDR5, t_Event, t_EventNo, t_EventWeight, t_gentrackP, t_goodPV, t_hAnnular, t_HitEnergies, t_HitEnergies1, t_HitEnergies3, t_hltbits, t_hmaxNearP, t_ieta, t_ietaAll, t_ietaGood, t_iphi, t_L1Bit, t_l1eta, t_l1phi, t_l1pt, t_l3eta, t_l3phi, t_l3pt, t_mindR1, t_mindR2, t_nTrk, t_nVtx, t_p, t_phi, t_pt, t_qltyFlag, t_qltyMissFlag, t_qltyPVFlag, t_rhoh, t_Run, t_RunNo, t_selectTk, t_Tracks, t_TracksLoose, t_TracksProp, t_TracksSaved, t_TracksTight, t_trackType, t_trgbits, t_TrigPass, t_TrigPassSel, tree, and tree2.

679  {
681  tree = fs->make<TTree>("CalibTree", "CalibTree");
682 
683  tree->Branch("t_Run", &t_Run, "t_Run/I");
684  tree->Branch("t_Event", &t_Event, "t_Event/I");
685  tree->Branch("t_DataType", &t_DataType, "t_DataType/I");
686  tree->Branch("t_ieta", &t_ieta, "t_ieta/I");
687  tree->Branch("t_iphi", &t_iphi, "t_iphi/I");
688  tree->Branch("t_EventWeight", &t_EventWeight, "t_EventWeight/D");
689  tree->Branch("t_nVtx", &t_nVtx, "t_nVtx/I");
690  tree->Branch("t_nTrk", &t_nTrk, "t_nTrk/I");
691  tree->Branch("t_goodPV", &t_goodPV, "t_goodPV/I");
692  tree->Branch("t_l1pt", &t_l1pt, "t_l1pt/D");
693  tree->Branch("t_l1eta", &t_l1eta, "t_l1eta/D");
694  tree->Branch("t_l1phi", &t_l1phi, "t_l1phi/D");
695  tree->Branch("t_l3pt", &t_l3pt, "t_l3pt/D");
696  tree->Branch("t_l3eta", &t_l3eta, "t_l3eta/D");
697  tree->Branch("t_l3phi", &t_l3phi, "t_l3phi/D");
698  tree->Branch("t_p", &t_p, "t_p/D");
699  tree->Branch("t_pt", &t_pt, "t_pt/D");
700  tree->Branch("t_phi", &t_phi, "t_phi/D");
701  tree->Branch("t_mindR1", &t_mindR1, "t_mindR1/D");
702  tree->Branch("t_mindR2", &t_mindR2, "t_mindR2/D");
703  tree->Branch("t_eMipDR", &t_eMipDR, "t_eMipDR/D");
704  tree->Branch("t_eMipDR2", &t_eMipDR2, "t_eMipDR2/D");
705  tree->Branch("t_eMipDR3", &t_eMipDR3, "t_eMipDR3/D");
706  tree->Branch("t_eMipDR4", &t_eMipDR4, "t_eMipDR4/D");
707  tree->Branch("t_eMipDR5", &t_eMipDR5, "t_eMipDR5/D");
708  tree->Branch("t_eHcal", &t_eHcal, "t_eHcal/D");
709  tree->Branch("t_eHcal10", &t_eHcal10, "t_eHcal10/D");
710  tree->Branch("t_eHcal30", &t_eHcal30, "t_eHcal30/D");
711  tree->Branch("t_hmaxNearP", &t_hmaxNearP, "t_hmaxNearP/D");
712  tree->Branch("t_emaxNearP", &t_emaxNearP, "t_emaxNearP/D");
713  tree->Branch("t_eAnnular", &t_eAnnular, "t_eAnnular/D");
714  tree->Branch("t_hAnnular", &t_hAnnular, "t_hAnnular/D");
715  tree->Branch("t_rhoh", &t_rhoh, "t_rhoh/D");
716  tree->Branch("t_selectTk", &t_selectTk, "t_selectTk/O");
717  tree->Branch("t_qltyFlag", &t_qltyFlag, "t_qltyFlag/O");
718  tree->Branch("t_qltyMissFlag", &t_qltyMissFlag, "t_qltyMissFlag/O");
719  tree->Branch("t_qltyPVFlag", &t_qltyPVFlag, "t_qltyPVFlag/O");
720  tree->Branch("t_gentrackP", &t_gentrackP, "t_gentrackP/D");
721 
722  t_DetIds = new std::vector<unsigned int>();
723  t_DetIds1 = new std::vector<unsigned int>();
724  t_DetIds3 = new std::vector<unsigned int>();
725  t_HitEnergies = new std::vector<double>();
726  t_HitEnergies1 = new std::vector<double>();
727  t_HitEnergies3 = new std::vector<double>();
728  t_trgbits = new std::vector<bool>();
729  tree->Branch("t_DetIds", "std::vector<unsigned int>", &t_DetIds);
730  tree->Branch("t_HitEnergies", "std::vector<double>", &t_HitEnergies);
731  tree->Branch("t_trgbits", "std::vector<bool>", &t_trgbits);
732  tree->Branch("t_DetIds1", "std::vector<unsigned int>", &t_DetIds1);
733  tree->Branch("t_DetIds3", "std::vector<unsigned int>", &t_DetIds3);
734  tree->Branch("t_HitEnergies1", "std::vector<double>", &t_HitEnergies1);
735  tree->Branch("t_HitEnergies3", "std::vector<double>", &t_HitEnergies3);
736 
737  tree2 = fs->make<TTree>("EventInfo", "Event Information");
738 
739  tree2->Branch("t_RunNo", &t_RunNo, "t_RunNo/i");
740  tree2->Branch("t_EventNo", &t_EventNo, "t_EventNo/i");
741  tree2->Branch("t_Tracks", &t_Tracks, "t_Tracks/I");
742  tree2->Branch("t_TracksProp", &t_TracksProp, "t_TracksProp/I");
743  tree2->Branch("t_TracksSaved", &t_TracksSaved, "t_TracksSaved/I");
744  tree2->Branch("t_TracksLoose", &t_TracksLoose, "t_TracksLoose/I");
745  tree2->Branch("t_TracksTight", &t_TracksTight, "t_TracksTight/I");
746  tree2->Branch("t_TrigPass", &t_TrigPass, "t_TrigPass/O");
747  tree2->Branch("t_TrigPassSel", &t_TrigPassSel, "t_TrigPassSel/O");
748  tree2->Branch("t_L1Bit", &t_L1Bit, "t_L1Bit/O");
749  tree2->Branch("t_allvertex", &t_allvertex, "t_allvertex/I");
750  t_hltbits = new std::vector<bool>();
751  t_ietaAll = new std::vector<int>();
752  t_ietaGood = new std::vector<int>();
753  t_trackType = new std::vector<int>();
754  tree2->Branch("t_ietaAll", "std::vector<int>", &t_ietaAll);
755  tree2->Branch("t_ietaGood", "std::vector<int>", &t_ietaGood);
756  tree2->Branch("t_trackType", "std::vector<int>", &t_trackType);
757  tree2->Branch("t_hltbits", "std::vector<bool>", &t_hltbits);
758 }
std::vector< double > * t_HitEnergies3
std::vector< double > * t_HitEnergies
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::vector< int > * t_ietaGood
std::vector< bool > * t_hltbits
std::vector< unsigned int > * t_DetIds1
std::vector< int > * t_ietaAll
std::vector< int > * t_trackType
std::vector< unsigned int > * t_DetIds3
std::vector< unsigned int > * t_DetIds
std::vector< double > * t_HitEnergies1
std::vector< bool > * t_trgbits
void HcalIsoTrkSimAnalyzer::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 761 of file HcalIsoTrkSimAnalyzer.cc.

References edm::EventSetup::getData(), hdc_, hltConfig_, HLTConfigProvider::init(), dqmiodumpmetadata::n, nRun_, processName_, edm::RunBase::run(), HLTConfigProvider::size(), tok_ddrec_, HLTConfigProvider::triggerIndex(), and trigNames_.

761  {
762  hdc_ = &iSetup.getData(tok_ddrec_);
763 
764  bool changed_(true);
765  bool flag = hltConfig_.init(iRun, iSetup, processName_, changed_);
766  edm::LogVerbatim("HcalIsoTrack") << "Run[" << nRun_ << "] " << iRun.run() << " process " << processName_
767  << " init flag " << flag << " change flag " << changed_;
768  // check if trigger names in (new) config
769  if (changed_) {
770 #ifdef EDM_ML_DEBUG
771  edm::LogVerbatim("HcalIsoTrack") << "New trigger menu found !!!";
772 #endif
773  const unsigned int n(hltConfig_.size());
774  for (unsigned itrig = 0; itrig < trigNames_.size(); itrig++) {
775  unsigned int triggerindx = hltConfig_.triggerIndex(trigNames_[itrig]);
776  if (triggerindx >= n) {
777  edm::LogWarning("HcalIsoTrack") << trigNames_[itrig] << " " << triggerindx << " does not exist in "
778  << "the current menu";
779 #ifdef EDM_ML_DEBUG
780  } else {
781  edm::LogVerbatim("HcalIsoTrack") << trigNames_[itrig] << " " << triggerindx << " exists";
782 #endif
783  }
784  }
785  }
786 }
unsigned int size() const
number of trigger paths in trigger table
Log< level::Info, true > LogVerbatim
const std::vector< std::string > trigNames_
unsigned int triggerIndex(const std::string &triggerName) const
slot position of trigger path in trigger table (0 to size-1)
const HcalDDDRecConstants * hdc_
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
const std::string processName_
edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_ddrec_
Log< level::Warning, false > LogWarning
double HcalIsoTrkSimAnalyzer::dR ( math::XYZTLorentzVector vec1,
math::XYZTLorentzVector vec2 
)
private

Definition at line 1226 of file HcalIsoTrkSimAnalyzer.cc.

References reco::deltaR().

Referenced by analyze(), and fillTree().

1226  {
1227  return reco::deltaR(vec1.eta(), vec1.phi(), vec2.eta(), vec2.phi());
1228 }
std::vector< double > vec1
Definition: HCALResponse.h:15
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
std::vector< vec1 > vec2
Definition: HCALResponse.h:16
void HcalIsoTrkSimAnalyzer::endRun ( edm::Run const &  iRun,
edm::EventSetup const &   
)
overrideprivate

Definition at line 789 of file HcalIsoTrkSimAnalyzer.cc.

References nRun_, and edm::RunBase::run().

789  {
790  nRun_++;
791  edm::LogVerbatim("HcalIsoTrack") << "endRun[" << nRun_ << "] " << iRun.run();
792 }
Log< level::Info, true > LogVerbatim
double HcalIsoTrkSimAnalyzer::eThreshold ( const DetId id,
const CaloGeometry geo 
) const
private

Definition at line 1261 of file HcalIsoTrkSimAnalyzer.cc.

References funct::abs(), EcalBarrel, PVValHelper::eta, PV3DBase< T, PVType, FrameType >::eta(), CaloGeometry::getPosition(), hitEthrEB_, hitEthrEE0_, hitEthrEE1_, hitEthrEE2_, hitEthrEE3_, hitEthrEEHi_, hitEthrEELo_, gpuClustering::id, and usePFThresh_.

Referenced by fillTree().

1261  {
1262  double eThr(hitEthrEB_);
1263  if (usePFThresh_) {
1264  eThr = static_cast<double>((*eThresholds_)[id]);
1265  } else {
1266  const GlobalPoint& pos = geo->getPosition(id);
1267  double eta = std::abs(pos.eta());
1268  if (id.subdetId() != EcalBarrel) {
1269  eThr = (((eta * hitEthrEE3_ + hitEthrEE2_) * eta + hitEthrEE1_) * eta + hitEthrEE0_);
1270  if (eThr < hitEthrEELo_)
1271  eThr = hitEthrEELo_;
1272  else if (eThr > hitEthrEEHi_)
1273  eThr = hitEthrEEHi_;
1274  }
1275  }
1276  return eThr;
1277 }
uint16_t *__restrict__ id
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:50
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
T eta() const
Definition: PV3DBase.h:73
void HcalIsoTrkSimAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 794 of file HcalIsoTrkSimAnalyzer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

794  {
796  std::vector<std::string> trig = {"HLT_PFJet40",
797  "HLT_PFJet60",
798  "HLT_PFJet80",
799  "HLT_PFJet140",
800  "HLT_PFJet200",
801  "HLT_PFJet260",
802  "HLT_PFJet320",
803  "HLT_PFJet400",
804  "HLT_PFJet450",
805  "HLT_PFJet500"};
806  desc.add<std::vector<std::string> >("triggers", trig);
807  desc.add<std::string>("processName", "HLT");
808  desc.add<std::string>("l1Filter", "");
809  desc.add<std::string>("l2Filter", "L2Filter");
810  desc.add<std::string>("l3Filter", "Filter");
811  desc.add<double>("pTMin", 1.0), desc.add<double>("maxChargedHadronEta", 3.0);
812  // Minimum momentum of selected isolated track and signal zone
813  desc.add<double>("minimumTrackP", 10.0);
814  desc.add<double>("coneRadius", 34.98);
815  // signal zone in ECAL and MIP energy cutoff
816  desc.add<double>("coneRadiusMIP", 14.0);
817  desc.add<double>("coneRadiusMIP2", 18.0);
818  desc.add<double>("coneRadiusMIP3", 20.0);
819  desc.add<double>("coneRadiusMIP4", 22.0);
820  desc.add<double>("coneRadiusMIP5", 24.0);
821  desc.add<double>("maximumEcalEnergy", 2.0);
822  // following 4 parameters are for isolation cuts and described in the code
823  desc.add<double>("maxTrackP", 8.0);
824  desc.add<double>("slopeTrackP", 0.05090504066);
825  desc.add<double>("isolationEnergyTight", 2.0);
826  desc.add<double>("isolationEnergyLoose", 10.0);
827  // energy thershold for ECAL (from Egamma group)
828  desc.add<double>("EBHitEnergyThreshold", 0.08);
829  desc.add<double>("EEHitEnergyThreshold0", 0.30);
830  desc.add<double>("EEHitEnergyThreshold1", 0.00);
831  desc.add<double>("EEHitEnergyThreshold2", 0.00);
832  desc.add<double>("EEHitEnergyThreshold3", 0.00);
833  desc.add<double>("EEHitEnergyThresholdLow", 0.30);
834  desc.add<double>("EEHitEnergyThresholdHigh", 0.30);
835  // prescale factors
836  desc.add<double>("momentumLow", 40.0);
837  desc.add<double>("momentumHigh", 60.0);
838  desc.add<int>("prescaleLow", 1);
839  desc.add<int>("prescaleHigh", 1);
840  // various labels for collections used in the code
841  desc.add<edm::InputTag>("labelTriggerEvent", edm::InputTag("hltTriggerSummaryAOD", "", "HLT"));
842  desc.add<edm::InputTag>("labelTriggerResult", edm::InputTag("TriggerResults", "", "HLT"));
843  desc.add<std::string>("labelTrack", "generalTracks");
844  desc.add<std::string>("labelVertex", "offlinePrimaryVertices");
845  desc.add<std::string>("labelEBRecHit", "EcalRecHitsEB");
846  desc.add<std::string>("labelEERecHit", "EcalRecHitsEE");
847  desc.add<std::string>("labelHBHERecHit", "hbhereco");
848  desc.add<std::string>("labelBeamSpot", "offlineBeamSpot");
849  desc.add<std::string>("labelCaloTower", "towerMaker");
850  desc.add<edm::InputTag>("algInputTag", edm::InputTag("gtStage2Digis"));
851  desc.add<edm::InputTag>("extInputTag", edm::InputTag("gtStage2Digis"));
852  desc.addUntracked<std::string>("moduleName", "");
853  desc.addUntracked<std::string>("producerName", "");
854  // Various flags used for selecting tracks, choice of energy Method2/0
855  // Data type 0/1 for single jet trigger or others
856  desc.addUntracked<int>("useRaw", 0);
857  desc.addUntracked<bool>("ignoreTriggers", false);
858  desc.addUntracked<bool>("useL1Trigger", false);
859  desc.addUntracked<double>("hcalScale", 1.0);
860  desc.addUntracked<int>("dataType", 0);
861  desc.addUntracked<bool>("unCorrect", false);
862  desc.addUntracked<bool>("collapseDepth", false);
863  desc.addUntracked<std::string>("l1TrigName", "L1_SingleJet60");
864  desc.addUntracked<int>("outMode", 11);
865  std::vector<int> dummy;
866  desc.addUntracked<std::vector<int> >("oldID", dummy);
867  desc.addUntracked<std::vector<int> >("newDepth", dummy);
868  desc.addUntracked<bool>("hep17", false);
869  desc.add<bool>("usePFThreshold", true);
870  descriptions.add("hcalIsoTrkSimAnalyzer", desc);
871 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::array< int, 3 > HcalIsoTrkSimAnalyzer::fillTree ( std::vector< math::XYZTLorentzVector > &  vecL1,
std::vector< math::XYZTLorentzVector > &  vecL3,
math::XYZPoint leadPV,
std::vector< spr::propagatedGenParticleID > &  trackIDs,
const CaloGeometry geo,
const CaloTopology topo,
const HcalTopology theHBHETopology,
const EcalChannelStatus theEcalChStatus,
const EcalSeverityLevelAlgo theEcalSevlv,
edm::Handle< EcalRecHitCollection > &  barrelRecHitsHandle,
edm::Handle< EcalRecHitCollection > &  endcapRecHitsHandle,
edm::Handle< HBHERecHitCollection > &  hbhe,
const edm::Handle< CaloTowerCollection > &  towerHandle,
edm::Handle< reco::GenParticleCollection > &  genParticles,
const HcalRespCorrs respCorrs 
)
private

Definition at line 873 of file HcalIsoTrkSimAnalyzer.cc.

References a_charIsoR_, a_coneR1_, a_coneR2_, a_coneR_, a_mipR2_, a_mipR3_, a_mipR4_, a_mipR5_, a_mipR_, funct::abs(), accept(), spr::chargeIsolationGenCone(), spr::chargeIsolationGenEcal(), dR(), runTauDisplay::dr, spr::eCone_ecal(), spr::eCone_hcal(), spr::eECALmatrix(), eEcalMax_, spr::eHCALmatrix(), eIsolate1_, eIsolate2_, reco::LeafCandidate::eta(), eThreshold(), funct::exp(), HcalDetId::ieta(), HcalDetId::iphi(), edm::HandleBase::isValid(), isotrackApplyRegressor::k, maxRestrictionP_, newId(), nHigh_, nLow_, notaMuon(), BeamSpotPI::nTracks, oldID_, reco::LeafCandidate::p(), reco::LeafCandidate::phi(), prescaleHigh_, prescaleLow_, reco::LeafCandidate::pt(), pTrackHigh_, pTrackLow_, pTrackMin_, reco::LeafCandidate::px(), reco::LeafCandidate::py(), reco::LeafCandidate::pz(), rhoh(), slopeRestrictionP_, storeEnergy(), t_DetIds, t_DetIds1, t_DetIds3, t_eAnnular, t_eHcal, t_eHcal10, t_eHcal30, t_emaxNearP, t_eMipDR, t_eMipDR2, t_eMipDR3, t_eMipDR4, t_eMipDR5, t_gentrackP, t_hAnnular, t_HitEnergies, t_HitEnergies1, t_HitEnergies3, t_hmaxNearP, t_ieta, t_ietaAll, t_ietaGood, t_iphi, t_mindR1, t_mindR2, t_nTrk, t_p, t_phi, t_pt, t_qltyFlag, t_qltyMissFlag, t_qltyPVFlag, t_rhoh, t_selectTk, t_trackType, t_trgbits, tree, and useRaw_.

Referenced by analyze(), and core.AutoFillTreeProducer.AutoFillTreeProducer::process().

887  {
888  int nSave(0), nLoose(0), nTight(0);
889  //Loop over tracks
890  unsigned int nTracks(0), nselTracks(0);
891  t_nTrk = trackIDs.size();
892  t_rhoh = (tower.isValid()) ? rhoh(tower) : 0;
893  for (auto const& trkDetItr : trackIDs) {
894  const reco::GenParticle* pTrack = &(*(trkDetItr.trkItr));
895  math::XYZTLorentzVector v4(pTrack->px(), pTrack->py(), pTrack->pz(), pTrack->p());
896 #ifdef EDM_ML_DEBUG
897  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << pTrack->pt() << "|"
898  << pTrack->eta() << "|" << pTrack->phi() << "|" << pTrack->p();
899 #endif
900  t_mindR2 = 999;
901  for (unsigned int k = 0; k < vecL3.size(); ++k) {
902  double dr = dR(vecL3[k], v4);
903  if (dr < t_mindR2) {
904  t_mindR2 = dr;
905  }
906  }
907  t_mindR1 = (!vecL1.empty()) ? dR(vecL1[0], v4) : 999;
908 #ifdef EDM_ML_DEBUG
909  edm::LogVerbatim("HcalIsoTrack") << "Closest L3 object at dr :" << t_mindR2 << " and from L1 " << t_mindR1;
910 #endif
911  t_ieta = t_iphi = 0;
912  if (trkDetItr.okHCAL) {
913  HcalDetId detId = (HcalDetId)(trkDetItr.detIdHCAL);
914  t_ieta = detId.ieta();
915  t_iphi = detId.iphi();
916  if (t_p > 40.0 && t_p <= 60.0)
917  t_ietaAll->emplace_back(t_ieta);
918  }
919  //Selection of good track
921  double eIsolation = maxRestrictionP_ * exp(slopeRestrictionP_ * std::abs((double)t_ieta));
922  if (eIsolation < eIsolate1_)
923  eIsolation = eIsolate1_;
924  if (eIsolation < eIsolate2_)
925  eIsolation = eIsolate2_;
926 #ifdef EDM_ML_DEBUG
927  edm::LogVerbatim("HcalIsoTrack") << "qltyFlag|okECAL|okHCAL : " << t_qltyFlag << "|" << trkDetItr.okECAL << "|"
928  << trkDetItr.okHCAL << " eIsolation " << eIsolation;
929 #endif
930  t_qltyFlag = (t_selectTk && trkDetItr.okECAL && trkDetItr.okHCAL);
931  bool notMuon = notaMuon(pTrack);
932  if (t_qltyFlag && notMuon) {
933  nselTracks++;
934  int nNearTRKs(0);
936  std::vector<DetId> eIds;
937  std::vector<double> eHit;
939  barrelRecHitsHandle,
940  endcapRecHitsHandle,
941  trkDetItr.pointHCAL,
942  trkDetItr.pointECAL,
943  a_mipR_,
944  trkDetItr.directionECAL,
945  eIds,
946  eHit);
947  double eEcal(0);
948  for (unsigned int k = 0; k < eIds.size(); ++k) {
949  if (eHit[k] > eThreshold(eIds[k], geo))
950  eEcal += eHit[k];
951  }
952 #ifdef EDM_ML_DEBUG
953  edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR << ":" << eEcal;
954 #endif
955  t_eMipDR = eEcal;
958  std::vector<DetId> eIds2;
959  std::vector<double> eHit2;
961  barrelRecHitsHandle,
962  endcapRecHitsHandle,
963  trkDetItr.pointHCAL,
964  trkDetItr.pointECAL,
965  a_mipR2_,
966  trkDetItr.directionECAL,
967  eIds2,
968  eHit2);
969  double eEcal2(0);
970  for (unsigned int k = 0; k < eIds2.size(); ++k) {
971  if (eHit2[k] > eThreshold(eIds2[k], geo))
972  eEcal2 += eHit2[k];
973  }
974 #ifdef EDM_ML_DEBUG
975  edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR2 << ":" << eEcal2;
976 #endif
977  t_eMipDR2 = eEcal2;
980  std::vector<DetId> eIds3;
981  std::vector<double> eHit3;
983  barrelRecHitsHandle,
984  endcapRecHitsHandle,
985  trkDetItr.pointHCAL,
986  trkDetItr.pointECAL,
987  a_mipR3_,
988  trkDetItr.directionECAL,
989  eIds3,
990  eHit3);
991  double eEcal3(0);
992  for (unsigned int k = 0; k < eIds3.size(); ++k) {
993  if (eHit3[k] > eThreshold(eIds3[k], geo))
994  eEcal3 += eHit3[k];
995  }
996 #ifdef EDM_ML_DEBUG
997  edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR3 << ":" << eEcal3;
998 #endif
999  t_eMipDR3 = eEcal3;
1002  std::vector<DetId> eIds4;
1003  std::vector<double> eHit4;
1004  t_eMipDR4 = spr::eCone_ecal(geo,
1005  barrelRecHitsHandle,
1006  endcapRecHitsHandle,
1007  trkDetItr.pointHCAL,
1008  trkDetItr.pointECAL,
1009  a_mipR4_,
1010  trkDetItr.directionECAL,
1011  eIds4,
1012  eHit4);
1013  double eEcal4(0);
1014  for (unsigned int k = 0; k < eIds4.size(); ++k) {
1015  if (eHit4[k] > eThreshold(eIds4[k], geo))
1016  eEcal4 += eHit4[k];
1017  }
1018 #ifdef EDM_ML_DEBUG
1019  edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR4 << ":" << eEcal4;
1020 #endif
1021  t_eMipDR4 = eEcal4;
1024  std::vector<DetId> eIds5;
1025  std::vector<double> eHit5;
1026  t_eMipDR5 = spr::eCone_ecal(geo,
1027  barrelRecHitsHandle,
1028  endcapRecHitsHandle,
1029  trkDetItr.pointHCAL,
1030  trkDetItr.pointECAL,
1031  a_mipR5_,
1032  trkDetItr.directionECAL,
1033  eIds5,
1034  eHit5);
1035  double eEcal5(0);
1036  for (unsigned int k = 0; k < eIds5.size(); ++k) {
1037  if (eHit5[k] > eThreshold(eIds5[k], geo))
1038  eEcal5 += eHit5[k];
1039  }
1040 #ifdef EDM_ML_DEBUG
1041  edm::LogVerbatim("HcalIsoTrack") << "eMIP before and after: " << t_eMipDR5 << ":" << eEcal5;
1042 #endif
1043  t_eMipDR5 = eEcal5;
1045 
1046  t_emaxNearP = spr::chargeIsolationGenEcal(nTracks, trackIDs, geo, caloTopology, 15, 15);
1047  const DetId cellE(trkDetItr.detIdECAL);
1048  std::pair<double, bool> e11x11P = spr::eECALmatrix(cellE,
1049  barrelRecHitsHandle,
1050  endcapRecHitsHandle,
1051  *theEcalChStatus,
1052  geo,
1053  caloTopology,
1054  theEcalSevlv,
1055  5,
1056  5,
1057  -100.0,
1058  -100.0,
1059  -100.0,
1060  100.0);
1061  std::pair<double, bool> e15x15P = spr::eECALmatrix(cellE,
1062  barrelRecHitsHandle,
1063  endcapRecHitsHandle,
1064  *theEcalChStatus,
1065  geo,
1066  caloTopology,
1067  theEcalSevlv,
1068  7,
1069  7,
1070  -100.0,
1071  -100.0,
1072  -100.0,
1073  100.0);
1074  if (e11x11P.second && e15x15P.second) {
1075  t_eAnnular = (e15x15P.first - e11x11P.first);
1076  } else {
1077  t_eAnnular = -(e15x15P.first - e11x11P.first);
1078  }
1079  t_hmaxNearP = spr::chargeIsolationGenCone(nTracks, trackIDs, a_charIsoR_, nNearTRKs, false);
1080  const DetId cellH(trkDetItr.detIdHCAL);
1081  double h5x5 = spr::eHCALmatrix(
1082  theHBHETopology, cellH, hbhe, 2, 2, false, true, -100.0, -100.0, -100.0, -100.0, -100.0, 100.0);
1083  double h7x7 = spr::eHCALmatrix(
1084  theHBHETopology, cellH, hbhe, 3, 3, false, true, -100.0, -100.0, -100.0, -100.0, -100.0, 100.0);
1085  t_hAnnular = h7x7 - h5x5;
1086 #ifdef EDM_ML_DEBUG
1087  edm::LogVerbatim("HcalIsoTrack") << "max p Near (Ecal) " << t_emaxNearP << " (Hcal) " << t_hmaxNearP
1088  << " Annular E (Ecal) " << e11x11P.first << ":" << e15x15P.first << ":"
1089  << t_eAnnular << " (Hcal) " << h5x5 << ":" << h7x7 << ":" << t_hAnnular;
1090 #endif
1091  t_gentrackP = pTrack->p();
1092  if (t_eMipDR < eEcalMax_ && t_hmaxNearP < eIsolation) {
1093  t_DetIds->clear();
1094  t_HitEnergies->clear();
1095  t_DetIds1->clear();
1096  t_HitEnergies1->clear();
1097  t_DetIds3->clear();
1098  t_HitEnergies3->clear();
1099  int nRecHits(-999), nRecHits1(-999), nRecHits3(-999);
1100  std::vector<DetId> ids, ids1, ids3;
1101  std::vector<double> edet0, edet1, edet3;
1102  t_eHcal = spr::eCone_hcal(geo,
1103  hbhe,
1104  trkDetItr.pointHCAL,
1105  trkDetItr.pointECAL,
1106  a_coneR_,
1107  trkDetItr.directionHCAL,
1108  nRecHits,
1109  ids,
1110  edet0,
1111  useRaw_);
1112  if (!oldID_.empty()) {
1113  for (unsigned k = 0; k < ids.size(); ++k)
1114  ids[k] = newId(ids[k]);
1115  }
1116  storeEnergy(0, respCorrs, ids, edet0, t_eHcal, t_DetIds, t_HitEnergies);
1117 
1118  //----- hcal energy in the extended cone 1 (a_coneR+10) --------------
1119  t_eHcal10 = spr::eCone_hcal(geo,
1120  hbhe,
1121  trkDetItr.pointHCAL,
1122  trkDetItr.pointECAL,
1123  a_coneR1_,
1124  trkDetItr.directionHCAL,
1125  nRecHits1,
1126  ids1,
1127  edet1,
1128  useRaw_);
1129  if (!oldID_.empty()) {
1130  for (unsigned k = 0; k < ids1.size(); ++k)
1131  ids1[k] = newId(ids1[k]);
1132  }
1133  storeEnergy(1, respCorrs, ids1, edet1, t_eHcal10, t_DetIds1, t_HitEnergies1);
1134 
1135  //----- hcal energy in the extended cone 3 (a_coneR+30) --------------
1136  t_eHcal30 = spr::eCone_hcal(geo,
1137  hbhe,
1138  trkDetItr.pointHCAL,
1139  trkDetItr.pointECAL,
1140  a_coneR2_,
1141  trkDetItr.directionHCAL,
1142  nRecHits3,
1143  ids3,
1144  edet3,
1145  useRaw_);
1146  if (!oldID_.empty()) {
1147  for (unsigned k = 0; k < ids3.size(); ++k)
1148  ids3[k] = newId(ids3[k]);
1149  }
1150  storeEnergy(3, respCorrs, ids3, edet3, t_eHcal30, t_DetIds3, t_HitEnergies3);
1151 
1152  t_p = pTrack->p();
1153  t_pt = pTrack->pt();
1154  t_phi = pTrack->phi();
1155 
1156 #ifdef EDM_ML_DEBUG
1157  edm::LogVerbatim("HcalIsoTrack") << "This track : " << nTracks << " (pt|eta|phi|p) :" << t_pt << "|"
1158  << pTrack->eta() << "|" << t_phi << "|" << t_p << " Generator Level p "
1159  << t_gentrackP;
1160  edm::LogVerbatim("HcalIsoTrack") << "e_MIP " << t_eMipDR << " Chg Isolation " << t_hmaxNearP << " eHcal"
1161  << t_eHcal << " ieta " << t_ieta << " Quality " << t_qltyMissFlag << ":"
1162  << t_qltyPVFlag << ":" << t_selectTk;
1163  for (unsigned int ll = 0; ll < t_DetIds->size(); ll++) {
1164  edm::LogVerbatim("HcalIsoTrack")
1165  << "det id is = " << t_DetIds->at(ll) << " hit enery is = " << t_HitEnergies->at(ll);
1166  }
1167  for (unsigned int ll = 0; ll < t_DetIds1->size(); ll++) {
1168  edm::LogVerbatim("HcalIsoTrack")
1169  << "det id is = " << t_DetIds1->at(ll) << " hit enery is = " << t_HitEnergies1->at(ll);
1170  }
1171  for (unsigned int ll = 0; ll < t_DetIds3->size(); ll++) {
1172  edm::LogVerbatim("HcalIsoTrack")
1173  << "det id is = " << t_DetIds3->at(ll) << " hit enery is = " << t_HitEnergies3->at(ll);
1174  }
1175 #endif
1176  bool accept(false);
1177  if (t_p > pTrackMin_) {
1178  if (t_p < pTrackLow_) {
1179  ++nLow_;
1180  if (prescaleLow_ <= 1)
1181  accept = true;
1182  else if (nLow_ % prescaleLow_ == 1)
1183  accept = true;
1184  } else if (t_p > pTrackHigh_) {
1185  ++nHigh_;
1186  if (prescaleHigh_ <= 1)
1187  accept = true;
1188  else if (nHigh_ % prescaleHigh_ == 1)
1189  accept = true;
1190  } else {
1191  accept = true;
1192  }
1193  }
1194  if (accept) {
1195  tree->Fill();
1196  nSave++;
1197  int type(0);
1198  if (t_eMipDR < 1.0) {
1199  if (t_hmaxNearP < eIsolate2_) {
1200  ++nLoose;
1201  type = 1;
1202  }
1203  if (t_hmaxNearP < eIsolate1_) {
1204  ++nTight;
1205  type = 2;
1206  }
1207  }
1208  if (t_p > 40.0 && t_p <= 60.0 && t_selectTk) {
1209  t_ietaGood->emplace_back(t_ieta);
1210  t_trackType->emplace_back(type);
1211  }
1212 #ifdef EDM_ML_DEBUG
1213  for (unsigned int k = 0; k < t_trgbits->size(); k++) {
1214  edm::LogVerbatim("HcalIsoTrack") << "trigger bit is = " << t_trgbits->at(k);
1215  }
1216 #endif
1217  }
1218  }
1219  }
1220  ++nTracks;
1221  }
1222  std::array<int, 3> i3{{nSave, nLoose, nTight}};
1223  return i3;
1224 }
double eCone_hcal(const CaloGeometry *geo, edm::Handle< T > &hits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int detOnly=-1, int useRaw=0, bool debug=false)
Log< level::Info, true > LogVerbatim
std::vector< double > * t_HitEnergies3
double pz() const final
z coordinate of momentum vector
double pt() const final
transverse momentum
std::vector< double > * t_HitEnergies
double dR(math::XYZTLorentzVector &, math::XYZTLorentzVector &)
double chargeIsolationGenCone(unsigned int trkIndex, std::vector< spr::propagatedGenParticleID > &trackIDs, double dR, int &nNearTRKs, bool debug=false)
std::vector< int > * t_ietaGood
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
double chargeIsolationGenEcal(unsigned int trkIndex, std::vector< spr::propagatedGenParticleID > &trackIDs, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, bool debug=false)
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
double eThreshold(const DetId &id, const CaloGeometry *geo) const
std::vector< unsigned int > * t_DetIds1
DetId newId(const DetId &)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:29
double rhoh(const edm::Handle< CaloTowerCollection > &)
const std::vector< int > oldID_
bool notaMuon(const reco::GenParticle *pTrack)
double px() const final
x coordinate of momentum vector
double p() const final
magnitude of momentum vector
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
std::vector< int > * t_ietaAll
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
void storeEnergy(int indx, const HcalRespCorrs *respCorrs, const std::vector< DetId > &ids, std::vector< double > &edet, double &eHcal, std::vector< unsigned int > *detIds, std::vector< double > *hitEnergies)
std::vector< int > * t_trackType
double eCone_ecal(const CaloGeometry *geo, edm::Handle< T > &barrelhits, edm::Handle< T > &endcaphits, const GlobalPoint &hpoint1, const GlobalPoint &point1, double dR, const GlobalVector &trackMom, int &nRecHits, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
double py() const final
y coordinate of momentum vector
std::vector< unsigned int > * t_DetIds3
Definition: DetId.h:17
std::vector< unsigned int > * t_DetIds
std::vector< double > * t_HitEnergies1
std::vector< bool > * t_trgbits
double phi() const final
momentum azimuthal angle
double eECALmatrix(const DetId &detId, edm::Handle< T > &hitsEB, edm::Handle< T > &hitsEE, const CaloGeometry *geo, const CaloTopology *caloTopology, int ieta, int iphi, double ebThr=-100, double eeThr=-100, double tMin=-500, double tMax=500, bool debug=false)
double eHCALmatrix(const HcalTopology *topology, const DetId &det, edm::Handle< T > &hits, int ieta, int iphi, bool includeHO=false, bool algoNew=true, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int useRaw=0, bool debug=false)
double eta() const final
momentum pseudorapidity
DetId HcalIsoTrkSimAnalyzer::newId ( const DetId id)
private

Definition at line 1279 of file HcalIsoTrkSimAnalyzer.cc.

References HcalDetId::depth(), hep17_, gpuClustering::id, HcalDetId::ieta(), HcalDetId::ietaAbs(), HcalDetId::iphi(), isotrackApplyRegressor::k, newDepth_, oldDepth_, oldDet_, oldEta_, oldID_, HcalDetId::subdet(), DetId::subdetId(), and HcalDetId::zside().

Referenced by fillTree().

1279  {
1280  HcalDetId hid(id);
1281  if (hep17_ && ((hid.iphi() < 63) || (hid.iphi() > 66) || (hid.zside() < 0)))
1282  return id;
1283  for (unsigned int k = 0; k < oldID_.size(); ++k) {
1284  if ((hid.subdetId() == oldDet_[k]) && (hid.ietaAbs() == oldEta_[k]) && (hid.depth() == oldDepth_[k])) {
1285  return static_cast<DetId>(HcalDetId(hid.subdet(), hid.ieta(), hid.iphi(), newDepth_[k]));
1286  }
1287  }
1288  return id;
1289 }
const std::vector< int > newDepth_
uint16_t *__restrict__ id
const std::vector< int > oldID_
std::vector< int > oldDepth_
Definition: DetId.h:17
bool HcalIsoTrkSimAnalyzer::notaMuon ( const reco::GenParticle pTrack)
private

Definition at line 1350 of file HcalIsoTrkSimAnalyzer.cc.

References reco::LeafCandidate::charge(), and reco::LeafCandidate::pdgId().

Referenced by fillTree().

1350  {
1351  int id = pTrack->pdgId();
1352  bool flag = ((id != 13) && (id != -13) && (pTrack->charge() != 0));
1353 #ifdef EDM_ML_DEBUG
1354  edm::LogVerbatim("HcalIsoTrack") << "notaMuon: ID " << id << " charge " << pTrack->charge() << " Flag " << flag;
1355 #endif
1356  return flag;
1357 }
Log< level::Info, true > LogVerbatim
int pdgId() const final
PDG identifier.
int charge() const final
electric charge
double HcalIsoTrkSimAnalyzer::rhoh ( const edm::Handle< CaloTowerCollection > &  tower)
private

Definition at line 1230 of file HcalIsoTrkSimAnalyzer.cc.

References reco::deltaPhi(), PVValHelper::eta, etabins_, etadist_, etahalfdist_, phi, phibins_, phidist_, and phihalfdist_.

Referenced by fillTree().

1230  {
1231  std::vector<double> sumPFNallSMDQH2;
1232  sumPFNallSMDQH2.reserve(phibins_.size() * etabins_.size());
1233 
1234  for (auto eta : etabins_) {
1235  for (auto phi : phibins_) {
1236  double hadder = 0;
1237  for (const auto& pf_it : (*tower)) {
1238  if (fabs(eta - pf_it.eta()) > etahalfdist_)
1239  continue;
1240  if (fabs(reco::deltaPhi(phi, pf_it.phi())) > phihalfdist_)
1241  continue;
1242  hadder += pf_it.hadEt();
1243  }
1244  sumPFNallSMDQH2.emplace_back(hadder);
1245  }
1246  }
1247 
1248  double evt_smdq(0);
1249  std::sort(sumPFNallSMDQH2.begin(), sumPFNallSMDQH2.end());
1250  if (sumPFNallSMDQH2.size() % 2)
1251  evt_smdq = sumPFNallSMDQH2[(sumPFNallSMDQH2.size() - 1) / 2];
1252  else
1253  evt_smdq = (sumPFNallSMDQH2[sumPFNallSMDQH2.size() / 2] + sumPFNallSMDQH2[(sumPFNallSMDQH2.size() - 2) / 2]) / 2.;
1254  double rhoh = evt_smdq / (etadist_ * phidist_);
1255 #ifdef EDM_ML_DEBUG
1256  edm::LogVerbatim("HcalIsoTrack") << "Rho " << evt_smdq << ":" << rhoh;
1257 #endif
1258  return rhoh;
1259 }
constexpr double deltaPhi(double phi1, double phi2)
Definition: deltaPhi.h:26
Log< level::Info, true > LogVerbatim
std::vector< double > etabins_
std::vector< double > phibins_
double rhoh(const edm::Handle< CaloTowerCollection > &)
void HcalIsoTrkSimAnalyzer::storeEnergy ( int  indx,
const HcalRespCorrs respCorrs,
const std::vector< DetId > &  ids,
std::vector< double > &  edet,
double &  eHcal,
std::vector< unsigned int > *  detIds,
std::vector< double > *  hitEnergies 
)
private

Definition at line 1291 of file HcalIsoTrkSimAnalyzer.cc.

References funct::abs(), collapseDepth_, alignCSCRings::corr, reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), hcalScale_, hdc_, gpuClustering::id, isotrackApplyRegressor::k, HcalDDDRecConstants::mergedDepthDetId(), and unCorrect_.

Referenced by fillTree().

1297  {
1298  double ehcal(0);
1299  if (unCorrect_) {
1300  for (unsigned int k = 0; k < ids.size(); ++k) {
1301  double corr = (respCorrs->getValues(ids[k]))->getValue();
1302  if (corr != 0)
1303  edet[k] /= corr;
1304  ehcal += edet[k];
1305  }
1306  } else {
1307  for (const auto& en : edet)
1308  ehcal += en;
1309  }
1310  if ((std::abs(ehcal - eHcal) > 0.001) && (!unCorrect_))
1311  edm::LogWarning("HcalIsoTrack") << "Check inconsistent energies: " << indx << " " << eHcal << ":" << ehcal
1312  << " from " << ids.size() << " cells";
1313  eHcal = hcalScale_ * ehcal;
1314 
1315  if (collapseDepth_) {
1316  std::map<HcalDetId, double> hitMap;
1317  for (unsigned int k = 0; k < ids.size(); ++k) {
1318  HcalDetId id = hdc_->mergedDepthDetId(HcalDetId(ids[k]));
1319  auto itr = hitMap.find(id);
1320  if (itr == hitMap.end()) {
1321  hitMap[id] = edet[k];
1322  } else {
1323  (itr->second) += edet[k];
1324  }
1325  }
1326  detIds->reserve(hitMap.size());
1327  hitEnergies->reserve(hitMap.size());
1328  for (const auto& hit : hitMap) {
1329  detIds->emplace_back(hit.first.rawId());
1330  hitEnergies->emplace_back(hit.second);
1331  }
1332  } else {
1333  detIds->reserve(ids.size());
1334  hitEnergies->reserve(ids.size());
1335  for (unsigned int k = 0; k < ids.size(); ++k) {
1336  detIds->emplace_back(ids[k].rawId());
1337  hitEnergies->emplace_back(edet[k]);
1338  }
1339  }
1340 #ifdef EDM_ML_DEBUG
1341  edm::LogVerbatim("HcalIsoTrack") << "Input to storeEnergy with " << ids.size() << " cells";
1342  for (unsigned int k = 0; k < ids.size(); ++k)
1343  edm::LogVerbatim("HcalIsoTrack") << "Hit [" << k << "] " << HcalDetId(ids[k]) << " E " << edet[k];
1344  edm::LogVerbatim("HcalIsoTrack") << "Output of storeEnergy with " << detIds->size() << " cells and Etot " << eHcal;
1345  for (unsigned int k = 0; k < detIds->size(); ++k)
1346  edm::LogVerbatim("HcalIsoTrack") << "Hit [" << k << "] " << HcalDetId((*detIds)[k]) << " E " << (*hitEnergies)[k];
1347 #endif
1348 }
Log< level::Info, true > LogVerbatim
uint16_t *__restrict__ id
HcalDetId mergedDepthDetId(const HcalDetId &id) const
const Item * getValues(DetId fId, bool throwOnFail=true) const
const HcalDDDRecConstants * hdc_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
Log< level::Warning, false > LogWarning

Member Data Documentation

double HcalIsoTrkSimAnalyzer::a_charIsoR_
private

Definition at line 177 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

double HcalIsoTrkSimAnalyzer::a_coneR1_
private

Definition at line 177 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

double HcalIsoTrkSimAnalyzer::a_coneR2_
private

Definition at line 177 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_coneR_
private

Definition at line 132 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_mipR2_
private

Definition at line 132 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_mipR3_
private

Definition at line 132 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_mipR4_
private

Definition at line 133 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_mipR5_
private

Definition at line 133 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::a_mipR_
private

Definition at line 132 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const edm::InputTag HcalIsoTrkSimAnalyzer::algTag_
private

Definition at line 151 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const bool HcalIsoTrkSimAnalyzer::collapseDepth_
private

Definition at line 140 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and storeEnergy().

const int HcalIsoTrkSimAnalyzer::dataType_
private

Definition at line 138 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::eEcalMax_
private

Definition at line 133 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::eIsolate1_
private

Definition at line 135 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::eIsolate2_
private

Definition at line 135 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

std::vector<double> HcalIsoTrkSimAnalyzer::etabins_
private

Definition at line 181 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

double HcalIsoTrkSimAnalyzer::etadist_
private

Definition at line 183 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

double HcalIsoTrkSimAnalyzer::etahalfdist_
private

Definition at line 183 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

const double HcalIsoTrkSimAnalyzer::etaMax_
private

Definition at line 131 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const EcalPFRecHitThresholds* HcalIsoTrkSimAnalyzer::eThresholds_
private

Definition at line 179 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

const edm::InputTag HcalIsoTrkSimAnalyzer::extTag_
private

Definition at line 151 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hcalScale_
private

Definition at line 135 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and storeEnergy().

const HcalDDDRecConstants* HcalIsoTrkSimAnalyzer::hdc_
private

Definition at line 178 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginRun(), and storeEnergy().

const bool HcalIsoTrkSimAnalyzer::hep17_
private

Definition at line 148 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and newId().

const double HcalIsoTrkSimAnalyzer::hitEthrEB_
private

Definition at line 141 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEE0_
private

Definition at line 141 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEE1_
private

Definition at line 141 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEE2_
private

Definition at line 142 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEE3_
private

Definition at line 142 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEEHi_
private

Definition at line 143 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::hitEthrEELo_
private

Definition at line 143 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

HLTConfigProvider HcalIsoTrkSimAnalyzer::hltConfig_
private

Definition at line 127 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginRun().

const bool HcalIsoTrkSimAnalyzer::ignoreTrigger_
private

Definition at line 139 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::l1Filter_
private

Definition at line 129 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

l1t::L1TGlobalUtil* HcalIsoTrkSimAnalyzer::l1GtUtils_
private

Definition at line 126 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::l1TrigName_
private

Definition at line 146 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::l2Filter_
private

Definition at line 130 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::l3Filter_
private

Definition at line 130 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelBS_
private

Definition at line 150 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelEB_
private

Definition at line 145 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelEE_
private

Definition at line 146 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelGenTrack_
private

Definition at line 145 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelHBHE_
private

Definition at line 146 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelRecVtx_
private

Definition at line 145 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::labelTower_
private

Definition at line 146 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::maxRestrictionP_
private

Definition at line 134 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const int HcalIsoTrkSimAnalyzer::mode_
private

Definition at line 138 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::modnam_
private

Definition at line 150 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const std::vector<int> HcalIsoTrkSimAnalyzer::newDepth_
private

Definition at line 147 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and newId().

unsigned int HcalIsoTrkSimAnalyzer::nHigh_
private

Definition at line 176 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree().

unsigned int HcalIsoTrkSimAnalyzer::nLow_
private

Definition at line 176 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree().

unsigned int HcalIsoTrkSimAnalyzer::nRun_
private

Definition at line 176 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginRun(), and endRun().

std::vector<int> HcalIsoTrkSimAnalyzer::oldDepth_
private

Definition at line 182 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and newId().

std::vector<int> HcalIsoTrkSimAnalyzer::oldDet_
private

Definition at line 182 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and newId().

std::vector<int> HcalIsoTrkSimAnalyzer::oldEta_
private

Definition at line 182 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and newId().

const std::vector<int> HcalIsoTrkSimAnalyzer::oldID_
private

Definition at line 147 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), HcalIsoTrkSimAnalyzer(), and newId().

std::vector<double> HcalIsoTrkSimAnalyzer::phibins_
private

Definition at line 181 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

double HcalIsoTrkSimAnalyzer::phidist_
private

Definition at line 183 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

double HcalIsoTrkSimAnalyzer::phihalfdist_
private

Definition at line 183 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and rhoh().

const std::string HcalIsoTrkSimAnalyzer::prdnam_
private

Definition at line 150 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const int HcalIsoTrkSimAnalyzer::prescaleHigh_
private

Definition at line 137 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const int HcalIsoTrkSimAnalyzer::prescaleLow_
private

Definition at line 137 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const std::string HcalIsoTrkSimAnalyzer::processName_
private

Definition at line 129 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginRun(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::ptMin_
private

Definition at line 131 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::pTrackHigh_
private

Definition at line 136 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::pTrackLow_
private

Definition at line 136 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::pTrackMin_
private

Definition at line 133 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

const double HcalIsoTrkSimAnalyzer::slopeRestrictionP_
private

Definition at line 134 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().

int HcalIsoTrkSimAnalyzer::t_allvertex
private

Definition at line 204 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

int HcalIsoTrkSimAnalyzer::t_DataType
private

Definition at line 187 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

std::vector<unsigned int>* HcalIsoTrkSimAnalyzer::t_DetIds
private

Definition at line 199 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<unsigned int> * HcalIsoTrkSimAnalyzer::t_DetIds1
private

Definition at line 199 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<unsigned int> * HcalIsoTrkSimAnalyzer::t_DetIds3
private

Definition at line 199 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eAnnular
private

Definition at line 195 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eHcal
private

Definition at line 196 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eHcal10
private

Definition at line 196 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eHcal30
private

Definition at line 196 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_emaxNearP
private

Definition at line 195 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eMipDR
private

Definition at line 193 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eMipDR2
private

Definition at line 193 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eMipDR3
private

Definition at line 193 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eMipDR4
private

Definition at line 193 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_eMipDR5
private

Definition at line 194 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_Event
private

Definition at line 187 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

unsigned int HcalIsoTrkSimAnalyzer::t_EventNo
private

Definition at line 186 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_EventWeight
private

Definition at line 189 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_gentrackP
private

Definition at line 194 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_goodPV
private

Definition at line 188 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_hAnnular
private

Definition at line 195 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<double>* HcalIsoTrkSimAnalyzer::t_HitEnergies
private

Definition at line 200 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<double> * HcalIsoTrkSimAnalyzer::t_HitEnergies1
private

Definition at line 200 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<double> * HcalIsoTrkSimAnalyzer::t_HitEnergies3
private

Definition at line 200 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<bool> * HcalIsoTrkSimAnalyzer::t_hltbits
private

Definition at line 201 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_hmaxNearP
private

Definition at line 194 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_ieta
private

Definition at line 187 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

std::vector<int>* HcalIsoTrkSimAnalyzer::t_ietaAll
private

Definition at line 205 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), beginJob(), and fillTree().

std::vector<int> * HcalIsoTrkSimAnalyzer::t_ietaGood
private

Definition at line 205 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_iphi
private

Definition at line 187 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

bool HcalIsoTrkSimAnalyzer::t_L1Bit
private

Definition at line 202 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l1eta
private

Definition at line 190 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l1phi
private

Definition at line 190 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l1pt
private

Definition at line 190 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l3eta
private

Definition at line 191 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l3phi
private

Definition at line 191 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_l3pt
private

Definition at line 191 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_mindR1
private

Definition at line 192 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_mindR2
private

Definition at line 192 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_nTrk
private

Definition at line 188 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_nVtx
private

Definition at line 188 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

double HcalIsoTrkSimAnalyzer::t_p
private

Definition at line 189 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_phi
private

Definition at line 189 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_pt
private

Definition at line 189 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

bool HcalIsoTrkSimAnalyzer::t_qltyFlag
private

Definition at line 197 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

bool HcalIsoTrkSimAnalyzer::t_qltyMissFlag
private

Definition at line 197 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

bool HcalIsoTrkSimAnalyzer::t_qltyPVFlag
private

Definition at line 198 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

double HcalIsoTrkSimAnalyzer::t_rhoh
private

Definition at line 196 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_Run
private

Definition at line 187 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

unsigned int HcalIsoTrkSimAnalyzer::t_RunNo
private

Definition at line 186 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

bool HcalIsoTrkSimAnalyzer::t_selectTk
private

Definition at line 197 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginJob(), and fillTree().

int HcalIsoTrkSimAnalyzer::t_Tracks
private

Definition at line 203 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

int HcalIsoTrkSimAnalyzer::t_TracksLoose
private

Definition at line 204 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

int HcalIsoTrkSimAnalyzer::t_TracksProp
private

Definition at line 203 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

int HcalIsoTrkSimAnalyzer::t_TracksSaved
private

Definition at line 203 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

int HcalIsoTrkSimAnalyzer::t_TracksTight
private

Definition at line 204 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

std::vector<int> * HcalIsoTrkSimAnalyzer::t_trackType
private

Definition at line 205 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), beginJob(), and fillTree().

std::vector<bool>* HcalIsoTrkSimAnalyzer::t_trgbits
private

Definition at line 201 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), beginJob(), and fillTree().

bool HcalIsoTrkSimAnalyzer::t_TrigPass
private

Definition at line 198 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

bool HcalIsoTrkSimAnalyzer::t_TrigPassSel
private

Definition at line 198 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

const edm::InputTag HcalIsoTrkSimAnalyzer::theTriggerResultsLabel_
private

Definition at line 144 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer().

edm::EDGetTokenT<BXVector<GlobalAlgBlk> > HcalIsoTrkSimAnalyzer::tok_alg_
private

Definition at line 163 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> HcalIsoTrkSimAnalyzer::tok_bFieldH_
private

Definition at line 166 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::BeamSpot> HcalIsoTrkSimAnalyzer::tok_bs_
private

Definition at line 155 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<CaloTowerCollection> HcalIsoTrkSimAnalyzer::tok_cala_
private

Definition at line 162 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<CaloTopology, CaloTopologyRecord> HcalIsoTrkSimAnalyzer::tok_caloTopology_
private

Definition at line 170 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> HcalIsoTrkSimAnalyzer::tok_ddrec_
private

Definition at line 165 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by beginRun().

edm::EDGetTokenT<EcalRecHitCollection> HcalIsoTrkSimAnalyzer::tok_EB_
private

Definition at line 157 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> HcalIsoTrkSimAnalyzer::tok_ecalChStatus_
private

Definition at line 167 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd> HcalIsoTrkSimAnalyzer::tok_ecalPFRecHitThresholds_
private

Definition at line 174 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<EcalRecHitCollection> HcalIsoTrkSimAnalyzer::tok_EE_
private

Definition at line 158 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<GenEventInfoProduct> HcalIsoTrkSimAnalyzer::tok_ew_
private

Definition at line 160 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HcalIsoTrkSimAnalyzer::tok_geom_
private

Definition at line 169 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<HBHERecHitCollection> HcalIsoTrkSimAnalyzer::tok_hbhe_
private

Definition at line 159 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> HcalIsoTrkSimAnalyzer::tok_htopo_
private

Definition at line 171 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::GenParticleCollection> HcalIsoTrkSimAnalyzer::tok_parts_
private

Definition at line 161 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<HepPDT::ParticleDataTable, PDTRecord> HcalIsoTrkSimAnalyzer::tok_pdt_
private

Definition at line 173 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<reco::VertexCollection> HcalIsoTrkSimAnalyzer::tok_recVtx_
private

Definition at line 156 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<HcalRespCorrs, HcalRespCorrsRcd> HcalIsoTrkSimAnalyzer::tok_resp_
private

Definition at line 172 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::ESGetToken<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd> HcalIsoTrkSimAnalyzer::tok_sevlv_
private

Definition at line 168 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<trigger::TriggerEvent> HcalIsoTrkSimAnalyzer::tok_trigEvt_
private

Definition at line 153 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

edm::EDGetTokenT<edm::TriggerResults> HcalIsoTrkSimAnalyzer::tok_trigRes_
private

Definition at line 154 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze().

TTree* HcalIsoTrkSimAnalyzer::tree
private
TTree * HcalIsoTrkSimAnalyzer::tree2
private

Definition at line 185 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and beginJob().

const edm::InputTag HcalIsoTrkSimAnalyzer::triggerEvent_
private

Definition at line 144 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const std::vector<std::string> HcalIsoTrkSimAnalyzer::trigNames_
private

Definition at line 128 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), beginRun(), and HcalIsoTrkSimAnalyzer().

const bool HcalIsoTrkSimAnalyzer::unCorrect_
private

Definition at line 140 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by HcalIsoTrkSimAnalyzer(), and storeEnergy().

const bool HcalIsoTrkSimAnalyzer::useL1Trigger_
private

Definition at line 139 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by analyze(), and HcalIsoTrkSimAnalyzer().

const bool HcalIsoTrkSimAnalyzer::usePFThresh_
private

Definition at line 149 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by eThreshold(), and HcalIsoTrkSimAnalyzer().

const int HcalIsoTrkSimAnalyzer::useRaw_
private

Definition at line 138 of file HcalIsoTrkSimAnalyzer.cc.

Referenced by fillTree(), and HcalIsoTrkSimAnalyzer().