CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
HcalHBHEMuonAnalyzer Class Reference
Inheritance diagram for HcalHBHEMuonAnalyzer:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 HcalHBHEMuonAnalyzer (const edm::ParameterSet &)
 
- 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 noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept 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 noexcept
 
bool wantsStreamRuns () const noexcept
 
 ~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
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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

double activeLength (const DetId &, bool)
 
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void clearVectors ()
 
int depth16HE (int ieta, int iphi)
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
double gainFactor (const HcalDbService *dbserv, const HcalDetId &id)
 
bool goodCell (const HcalDetId &hcid, const reco::Track *pTrack, const CaloGeometry *geo, const MagneticField *bField)
 
bool isGoodVertex (const reco::Vertex &vtx)
 
int matchId (const HcalDetId &, const HcalDetId &)
 
double respCorr (const DetId &id)
 

Private Attributes

std::vector< HcalDDDRecConstants::HcalActiveLengthactHB
 
std::vector< HcalDDDRecConstants::HcalActiveLengthactHE
 
std::vector< std::string > all_triggers_
 
unsigned int bxNumber_
 
double chiGlobal_
 
double chiTracker_
 
const bool collapseDepth_
 
std::map< DetId, double > corrValue_
 
double dxyTracker_
 
double dzTracker_
 
double ecal3x3Energy_
 
unsigned int ecalDetId_
 
double ecalEnergy_
 
unsigned int ehcalDetId_
 
double energyMuon_
 
double etaGlob_
 
unsigned int eventNumber_
 
const std::string fileInCorr_
 
const CaloGeometrygeo_
 
const bool getCharge_
 
int globalMuonHits_
 
bool globalTrack_
 
double globalTrckEta_
 
double globalTrckPhi_
 
double globalTrckPt_
 
unsigned int goodVertex_
 
double hcal1x1Energy_
 
int hcal_ieta_
 
int hcal_iphi_
 
double hcalActiveLength_
 
double hcalActiveLengthHot_
 
double hcalDepthActiveLength_ [depthMax_]
 
double hcalDepthActiveLengthHot_ [depthMax_]
 
double hcalDepthChargeHot_ [depthMax_]
 
double hcalDepthChargeHotBG_ [depthMax_]
 
double hcalDepthEnergy_ [depthMax_]
 
double hcalDepthEnergyCorr_ [depthMax_]
 
double hcalDepthEnergyHot_ [depthMax_]
 
double hcalDepthEnergyHotCorr_ [depthMax_]
 
bool hcalDepthMatch_ [depthMax_]
 
bool hcalDepthMatchHot_ [depthMax_]
 
unsigned int hcalDetId_
 
double hcalEnergy_
 
bool hcalHot_
 
const HcalDDDRecConstantshdc_
 
HLTConfigProvider hltConfig_
 
std::vector< int > hltresults_
 
const edm::InputTag hlTriggerResults_
 
double hoEnergy_
 
const bool ignoreHECorr_
 
bool innerTrack_
 
double innerTracketa_
 
double innerTrackphi_
 
double innerTrackpt_
 
const bool isItPlan1_
 
const bool isItPreRecHit_
 
double isolationR03_
 
double isolationR04_
 
int kount_
 
const edm::InputTag labelEBRecHit_
 
const edm::InputTag labelEERecHit_
 
const edm::InputTag labelHBHERecHit_
 
const std::string labelMuon_
 
const std::string labelVtx_
 
unsigned int lumiNumber_
 
bool matchedId_
 
int matchedStat_
 
const int maxDepth_
 
bool mergedDepth_
 
const std::string modnam_
 
float muon_chi2LocalPosition_
 
bool muon_global_
 
bool muon_is_good_
 
bool muon_is_medium_
 
bool muon_is_tight_
 
float muon_segComp_
 
bool muon_tracker_
 
float muon_trkKink_
 
int numPixelLayers_
 
bool outerTrack_
 
double outerTrackChi_
 
double outerTrackEta_
 
int outerTrackHits_
 
double outerTrackPhi_
 
double outerTrackPt_
 
int outerTrackRHits_
 
double phiGlob_
 
const double pMinMuon_
 
double pMuon_
 
const std::string procnm_
 
double ptGlob_
 
HcalRespCorrsrespCorrs_
 
unsigned int runNumber_
 
const HcalTopologytheHBHETopology_
 
double tight_LongPara_
 
int tight_PixelHits_
 
double tight_TransImpara_
 
double tight_validFraction_
 
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcdtok_chan_
 
const edm::ESGetToken< HcalDbService, HcalDbRecordtok_dbservice_
 
const edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecordtok_ddrec_
 
const edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
const edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcdtok_ecalPFRecHitThresholds_
 
const edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
const edm::ESGetToken< CaloGeometry, CaloGeometryRecordtok_geom_
 
const edm::EDGetTokenT< HBHERecHitCollectiontok_HBHE_
 
const edm::ESGetToken< HcalTopology, HcalRecNumberingRecordtok_htopo_
 
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecordtok_magField_
 
const edm::EDGetTokenT< reco::MuonCollectiontok_Muon_
 
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcdtok_respcorr_
 
const edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcdtok_sevlv_
 
const edm::ESGetToken< CaloTopology, CaloTopologyRecordtok_topo_
 
const edm::EDGetTokenT< edm::TriggerResultstok_trigRes_
 
const edm::EDGetTokenT< reco::VertexCollectiontok_Vtx_
 
int trackerLayer_
 
TTree * tree_
 
const std::vector< std::string > triggers_
 
const bool unCorrect_
 
bool useMyCorr_
 
const bool usePFThresh_
 
const int useRaw_
 
const int verbosity_
 
const bool writeRespCorr_
 

Static Private Attributes

static const int depthMax_ = 7
 

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 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 70 of file HcalHBHEMuonAnalyzer.cc.

Constructor & Destructor Documentation

◆ HcalHBHEMuonAnalyzer()

HcalHBHEMuonAnalyzer::HcalHBHEMuonAnalyzer ( const edm::ParameterSet iConfig)
explicit

Definition at line 175 of file HcalHBHEMuonAnalyzer.cc.

References collapseDepth_, corrValue_, fileInCorr_, getCharge_, hlTriggerResults_, l1ctLayer2EG_cff::id, ignoreHECorr_, timingPdfMaker::infile, ProducerED_cfi::InputTag, isItPlan1_, isItPreRecHit_, kount_, TFileService::kSharedResource, labelEBRecHit_, labelEERecHit_, labelHBHERecHit_, labelMuon_, labelVtx_, mergedDepth_, modnam_, pMinMuon_, procnm_, unCorrect_, useMyCorr_, usePFThresh_, and useRaw_.

176  : hlTriggerResults_(iConfig.getParameter<edm::InputTag>("hlTriggerResults")),
177  labelEBRecHit_(iConfig.getParameter<edm::InputTag>("labelEBRecHit")),
178  labelEERecHit_(iConfig.getParameter<edm::InputTag>("labelEERecHit")),
179  labelHBHERecHit_(iConfig.getParameter<edm::InputTag>("labelHBHERecHit")),
180  labelVtx_(iConfig.getParameter<std::string>("labelVertex")),
181  labelMuon_(iConfig.getParameter<std::string>("labelMuon")),
182  fileInCorr_(iConfig.getUntrackedParameter<std::string>("fileInCorr", "")),
183  triggers_(iConfig.getParameter<std::vector<std::string>>("triggers")),
184  pMinMuon_(iConfig.getParameter<double>("pMinMuon")),
185  verbosity_(iConfig.getUntrackedParameter<int>("verbosity", 0)),
186  useRaw_(iConfig.getParameter<int>("useRaw")),
187  unCorrect_(iConfig.getParameter<bool>("unCorrect")),
188  collapseDepth_(iConfig.getParameter<bool>("collapseDepth")),
189  isItPlan1_(iConfig.getParameter<bool>("isItPlan1")),
190  ignoreHECorr_(iConfig.getUntrackedParameter<bool>("ignoreHECorr", false)),
191  isItPreRecHit_(iConfig.getUntrackedParameter<bool>("isItPreRecHit", false)),
192  getCharge_(iConfig.getParameter<bool>("getCharge")),
193  writeRespCorr_(iConfig.getUntrackedParameter<bool>("writeRespCorr", false)),
194  maxDepth_(iConfig.getUntrackedParameter<int>("maxDepth", 7)),
195  modnam_(iConfig.getUntrackedParameter<std::string>("moduleName", "")),
196  procnm_(iConfig.getUntrackedParameter<std::string>("processName", "")),
197  usePFThresh_(iConfig.getParameter<bool>("usePFThreshold")),
198  tok_trigRes_(consumes<edm::TriggerResults>(hlTriggerResults_)),
199  tok_Vtx_((modnam_.empty()) ? consumes<reco::VertexCollection>(labelVtx_)
216  hdc_(nullptr),
217  theHBHETopology_(nullptr),
218  respCorrs_(nullptr) {
219  usesResource(TFileService::kSharedResource);
220  //now do what ever initialization is needed
221  kount_ = 0;
223 
224  if (modnam_.empty()) {
225  edm::LogVerbatim("HBHEMuon") << "Labels used: Trig " << hlTriggerResults_ << " Vtx " << labelVtx_ << " EB "
226  << labelEBRecHit_ << " EE " << labelEERecHit_ << " HBHE " << labelHBHERecHit_ << " MU "
227  << labelMuon_;
228  } else {
229  edm::LogVerbatim("HBHEMuon") << "Labels used Trig " << hlTriggerResults_ << "\n Vtx "
231  << "\n EE " << labelEERecHit_ << "\n HBHE " << labelHBHERecHit_ << "\n MU "
233  }
234 
235  if (!fileInCorr_.empty()) {
236  std::ifstream infile(fileInCorr_.c_str());
237  if (infile.is_open()) {
238  while (true) {
239  unsigned int id;
240  double cfac;
241  infile >> id >> cfac;
242  if (!infile.good())
243  break;
244  corrValue_[DetId(id)] = cfac;
245  }
246  infile.close();
247  }
248  }
249  useMyCorr_ = (!corrValue_.empty());
250  edm::LogVerbatim("HBHEMuon") << "Flags used: UseRaw " << useRaw_ << " GetCharge " << getCharge_ << " UnCorrect "
251  << unCorrect_ << " IgnoreHECorr " << ignoreHECorr_ << " CollapseDepth " << collapseDepth_
252  << ":" << mergedDepth_ << " IsItPlan1 " << isItPlan1_ << " IsItPreRecHit "
253  << isItPreRecHit_ << " UseMyCorr " << useMyCorr_ << " pMinMuon " << pMinMuon_
254  << " usePFThresh " << usePFThresh_;
255 }
static const std::string kSharedResource
Definition: TFileService.h:76
Log< level::Info, true > LogVerbatim
const std::string labelMuon_
const HcalTopology * theHBHETopology_
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_respcorr_
const edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_htopo_
const edm::EDGetTokenT< reco::MuonCollection > tok_Muon_
const edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > tok_sevlv_
const edm::InputTag hlTriggerResults_
const edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_topo_
std::vector< Vertex > VertexCollection
Definition: Vertex.h:31
std::vector< Muon > MuonCollection
collection of Muon objects
Definition: MuonFwd.h:9
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag labelEERecHit_
T getUntrackedParameter(std::string const &, T const &) const
const edm::InputTag labelEBRecHit_
const edm::ESGetToken< HcalDbService, HcalDbRecord > tok_dbservice_
const edm::EDGetTokenT< HBHERecHitCollection > tok_HBHE_
Transition
Definition: Transition.h:12
const std::string labelVtx_
const edm::InputTag labelHBHERecHit_
Definition: DetId.h:17
const edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
std::map< DetId, double > corrValue_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
const edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > tok_ecalPFRecHitThresholds_
const edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
const edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
const HcalDDDRecConstants * hdc_
fixed size matrix
HLT enums.
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > tok_chan_
const edm::EDGetTokenT< reco::VertexCollection > tok_Vtx_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_
const std::string fileInCorr_
const edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_ddrec_
const std::vector< std::string > triggers_

Member Function Documentation

◆ activeLength()

double HcalHBHEMuonAnalyzer::activeLength ( const DetId id_,
bool  debug 
)
private

Definition at line 1205 of file HcalHBHEMuonAnalyzer.cc.

References actHB, actHE, debug, hcalRecHitTable_cff::depth, spr::find(), HcalBarrel, hdc_, mps_fire::i, l1ctLayer2EG_cff::id, hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, dqmdumpme::k, mergedDepth_, HcalDDDRecConstants::unmergeDepthDetId(), and ecaldqm::zside().

Referenced by analyze(), and beginRun().

1205  {
1206  HcalDetId id(id_);
1207  int ieta = id.ietaAbs();
1208  int zside = id.zside();
1209  int iphi = id.iphi();
1210  std::vector<int> dpths;
1211  if (mergedDepth_) {
1212  std::vector<HcalDetId> ids;
1213  hdc_->unmergeDepthDetId(id, ids);
1214  for (auto idh : ids)
1215  dpths.emplace_back(idh.depth());
1216  } else {
1217  dpths.emplace_back(id.depth());
1218  }
1219  double lx(0);
1220  if (debug) {
1221  std::ostringstream st1;
1222  st1 << "Subdet:zside:ieta:iphi:ndepth " << id.subdet() << " : " << zside << " : " << ieta << " : " << iphi << " : "
1223  << dpths.size() << " depths";
1224  for (unsigned int k = 0; k < dpths.size(); ++k)
1225  st1 << " : " << dpths[k];
1226  edm::LogVerbatim("HBHEMuon") << st1.str();
1227  }
1228  if (id.subdet() == HcalBarrel) {
1229  for (unsigned int i = 0; i < actHB.size(); ++i) {
1230  if ((ieta == actHB[i].ieta) && (zside == actHB[i].zside) &&
1231  (std::find(dpths.begin(), dpths.end(), actHB[i].depth) != dpths.end()) &&
1232  (std::find(actHB[i].iphis.begin(), actHB[i].iphis.end(), iphi) != actHB[i].iphis.end())) {
1233  lx += actHB[i].thick;
1234  if (debug) {
1235  edm::LogVerbatim("HBHEMuon") << "Eta: " << (ieta == actHB[i].ieta) << " zside " << (zside == actHB[i].zside)
1236  << " Depth " << actHB[i].depth << ":"
1237  << (std::find(dpths.begin(), dpths.end(), actHB[i].depth) != dpths.end())
1238  << " Phi: "
1239  << (std::find(actHB[i].iphis.begin(), actHB[i].iphis.end(), iphi) !=
1240  actHB[i].iphis.end())
1241  << " Length: " << actHB[i].thick << " : " << lx;
1242  }
1243  }
1244  }
1245  } else {
1246  for (unsigned int i = 0; i < actHE.size(); ++i) {
1247  if ((ieta == actHE[i].ieta) && (zside == actHE[i].zside) &&
1248  (std::find(dpths.begin(), dpths.end(), actHE[i].depth) != dpths.end()) &&
1249  (std::find(actHE[i].iphis.begin(), actHE[i].iphis.end(), iphi) != actHE[i].iphis.end())) {
1250  lx += actHE[i].thick;
1251  if (debug) {
1252  edm::LogVerbatim("HBHEMuon") << "Eta: " << (ieta == actHE[i].ieta) << " zside " << (zside == actHE[i].zside)
1253  << " Depth " << actHE[i].depth << ":"
1254  << (std::find(dpths.begin(), dpths.end(), actHE[i].depth) != dpths.end())
1255  << " Phi: "
1256  << (std::find(actHE[i].iphis.begin(), actHE[i].iphis.end(), iphi) !=
1257  actHE[i].iphis.end())
1258  << " Length: " << actHE[i].thick << " : " << lx;
1259  }
1260  }
1261  }
1262  }
1263  return lx;
1264 }
Log< level::Info, true > LogVerbatim
int zside(DetId const &)
std::vector< HcalDDDRecConstants::HcalActiveLength > actHE
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::vector< HcalDDDRecConstants::HcalActiveLength > actHB
#define debug
Definition: HDRShower.cc:19
const HcalDDDRecConstants * hdc_
void unmergeDepthDetId(const HcalDetId &id, std::vector< HcalDetId > &ids) const

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 262 of file HcalHBHEMuonAnalyzer.cc.

References funct::abs(), accept(), edm::HLTGlobalStatus::accept(), activeLength(), all_triggers_, Calorimetry_cff::bField, bxNumber_, RPCNoise_example::check, chg, chiGlobal_, chiTracker_, clearVectors(), collapseDepth_, submitPVValidationJobs::conditions, alignCSCRings::corr, hcalRecHitTable_cff::depth, depth16HE(), depthMax_, spr::propagatedTrackID::detIdECAL, spr::propagatedTrackID::detIdEHCAL, spr::propagatedTrackID::detIdHCAL, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, electrons_cff::ecalEnergy, ecalEnergy_, spr::eECALmatrix(), ehcalDetId_, spr::eHCALmatrix(), spr::energyHCALCell(), energyMuon_, etaGlob_, eventNumber_, PedestalClient_cfi::gain, gainFactor(), geo_, getCharge_, edm::EventSetup::getData(), globalMuonHits_, cutBasedMuonId_MuonPOG_V0_cff::globalTrack, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, goodCell(), goodVertex_, photonIsolationHIProducer_cfi::hbhe, hcal1x1Energy_, hcal_ieta_, hcal_iphi_, hcalActiveLength_, hcalActiveLengthHot_, HcalBarrel, hcalDepthActiveLength_, hcalDepthActiveLengthHot_, hcalDepthChargeHot_, hcalDepthChargeHotBG_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, hcalDepthMatch_, hcalDepthMatchHot_, hcalDetId_, HcalEndcap, hcalEnergy_, hcalHot_, hdc_, hltresults_, hoEnergy_, mps_fire::i, hcalRecHitTable_cff::ieta, HcalDetId::ieta(), iEvent, ignoreHECorr_, info(), susybsm::HSCParticleType::innerTrack, innerTrack_, innerTracketa_, innerTrackphi_, innerTrackpt_, hcalRecHitTable_cff::iphi, HcalDetId::iphi(), isGoodVertex(), isItPlan1_, isItPreRecHit_, muon::isMediumMuon(), muons2muons_cfi::isolationR03, isolationR03_, muons2muons_cfi::isolationR04, isolationR04_, muon::isTightMuon(), edm::HandleBase::isValid(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, dqmdumpme::k, kount_, lumiNumber_, matchedId_, matchedStat_, matchId(), SiStripPI::max, maxDepth_, HcalDDDRecConstants::mergedDepthDetId(), muon_chi2LocalPosition_, muon_global_, muon_is_good_, muon_is_medium_, muon_is_tight_, muon_segComp_, muon_tracker_, muon_trkKink_, numPixelLayers_, spr::propagatedTrackID::okECAL, spr::propagatedTrackID::okHCAL, outerTrack_, outerTrackChi_, outerTrackEta_, outerTrackHits_, outerTrackPhi_, outerTrackPt_, outerTrackRHits_, phiGlob_, pMinMuon_, pMuon_, edm::Handle< T >::product(), spr::propagateCALO(), spr::propagateHCALBack(), ptGlob_, DetId::rawId(), respCorr(), runNumber_, edm::second(), muon::segmentCompatibility(), edm::HLTGlobalStatus::size(), HcalDetId::subdet(), theHBHETopology_, tight_LongPara_, tight_PixelHits_, tight_TransImpara_, tight_validFraction_, tok_chan_, tok_dbservice_, tok_EB_, tok_ecalPFRecHitThresholds_, tok_EE_, tok_HBHE_, tok_magField_, tok_Muon_, tok_sevlv_, tok_topo_, tok_trigRes_, tok_Vtx_, trackerLayer_, tree_, edm::TriggerNames::triggerIndex(), unCorrect_, usePFThresh_, useRaw_, HcalTopology::validHcal(), verbosity_, and L1BJetProducer_cff::vtx.

262  {
263  ++kount_;
264  clearVectors();
265  std::vector<bool> muon_is_good, muon_global, muon_tracker;
266  std::vector<bool> muon_is_tight, muon_is_medium;
267  std::vector<double> ptGlob, etaGlob, phiGlob, energyMuon, pMuon;
268  std::vector<float> muon_trkKink, muon_chi2LocalPosition, muon_segComp;
269  std::vector<int> trackerLayer, numPixelLayers, tight_PixelHits;
270  std::vector<bool> innerTrack, outerTrack, globalTrack;
271  std::vector<double> chiTracker, dxyTracker, dzTracker;
272  std::vector<double> innerTrackpt, innerTracketa, innerTrackphi;
273  std::vector<double> tight_validFraction, outerTrackChi;
274  std::vector<double> outerTrackPt, outerTrackEta, outerTrackPhi;
275  std::vector<int> outerTrackHits, outerTrackRHits;
276  std::vector<double> globalTrckPt, globalTrckEta, globalTrckPhi;
277  std::vector<int> globalMuonHits, matchedStat;
278  std::vector<double> chiGlobal, tight_LongPara, tight_TransImpara;
279  std::vector<double> isolationR04, isolationR03;
280  std::vector<double> ecalEnergy, hcalEnergy, hoEnergy;
281  std::vector<bool> matchedId, hcalHot;
282  std::vector<double> ecal3x3Energy, hcal1x1Energy;
283  std::vector<unsigned int> ecalDetId, hcalDetId, ehcalDetId;
284  std::vector<int> hcal_ieta, hcal_iphi;
285  std::vector<double> hcalDepthEnergy[depthMax_];
286  std::vector<double> hcalDepthActiveLength[depthMax_];
287  std::vector<double> hcalDepthEnergyHot[depthMax_];
288  std::vector<double> hcalDepthActiveLengthHot[depthMax_];
289  std::vector<double> hcalDepthChargeHot[depthMax_];
290  std::vector<double> hcalDepthChargeHotBG[depthMax_];
291  std::vector<double> hcalDepthEnergyCorr[depthMax_];
292  std::vector<double> hcalDepthEnergyHotCorr[depthMax_];
293  std::vector<bool> hcalDepthMatch[depthMax_];
294  std::vector<bool> hcalDepthMatchHot[depthMax_];
295  std::vector<double> hcalActiveLength, hcalActiveLengthHot;
296  runNumber_ = iEvent.id().run();
297  eventNumber_ = iEvent.id().event();
298  lumiNumber_ = iEvent.id().luminosityBlock();
299  bxNumber_ = iEvent.bunchCrossing();
300 #ifdef EDM_ML_DEBUG
301  edm::LogVerbatim("HBHEMuon") << "Run " << runNumber_ << " Event " << eventNumber_ << " Lumi " << lumiNumber_ << " BX "
302  << bxNumber_ << std::endl;
303 #endif
304  const edm::Handle<edm::TriggerResults>& _Triggers = iEvent.getHandle(tok_trigRes_);
305 #ifdef EDM_ML_DEBUG
306  if ((verbosity_ / 10000) % 10 > 0)
307  edm::LogVerbatim("HBHEMuon") << "Size of all triggers " << all_triggers_.size();
308 #endif
309  int Ntriggers = static_cast<int>(all_triggers_.size());
310 #ifdef EDM_ML_DEBUG
311  if ((verbosity_ / 10000) % 10 > 0)
312  edm::LogVerbatim("HBHEMuon") << "Size of HLT MENU: " << _Triggers->size();
313 #endif
314  if (_Triggers.isValid()) {
315  const edm::TriggerNames& triggerNames_ = iEvent.triggerNames(*_Triggers);
316  std::vector<int> index;
317  for (int i = 0; i < Ntriggers; i++) {
318  index.push_back(triggerNames_.triggerIndex(all_triggers_[i]));
319  int triggerSize = static_cast<int>(_Triggers->size());
320 #ifdef EDM_ML_DEBUG
321  if ((verbosity_ / 10000) % 10 > 0)
322  edm::LogVerbatim("HBHEMuon") << "outside loop " << index[i] << "\ntriggerSize " << triggerSize;
323 #endif
324  if (index[i] < triggerSize) {
325  hltresults_.push_back(_Triggers->accept(index[i]));
326 #ifdef EDM_ML_DEBUG
327  if ((verbosity_ / 10000) % 10 > 0)
328  edm::LogVerbatim("HBHEMuon") << "Trigger_info " << triggerSize << " triggerSize " << index[i]
329  << " trigger_index " << hltresults_.at(i) << " hltresult";
330 #endif
331  } else {
332  if ((verbosity_ / 10000) % 10 > 0)
333  edm::LogVerbatim("HBHEMuon") << "Requested HLT path \""
334  << "\" does not exist";
335  }
336  }
337  }
338 
339  // get handles to calogeometry and calotopology
340  const MagneticField* bField = &iSetup.getData(tok_magField_);
341  const EcalChannelStatus* theEcalChStatus = &iSetup.getData(tok_chan_);
342  const EcalSeverityLevelAlgo* sevlv = &iSetup.getData(tok_sevlv_);
343  const CaloTopology* caloTopology = &iSetup.getData(tok_topo_);
344  const HcalDbService* conditions = &iSetup.getData(tok_dbservice_);
345  const EcalPFRecHitThresholds* eThresholds = &iSetup.getData(tok_ecalPFRecHitThresholds_);
346 
347  // Relevant blocks from iEvent
349 
350  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle = iEvent.getHandle(tok_EB_);
351  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle = iEvent.getHandle(tok_EE_);
352 
354 
355  const edm::Handle<reco::MuonCollection>& _Muon = iEvent.getHandle(tok_Muon_);
356 
357  // require a good vertex
358  math::XYZPoint pvx;
359  goodVertex_ = 0;
360  if (!vtx.isValid()) {
361 #ifdef EDM_ML_DEBUG
362  edm::LogVerbatim("HBHEMuon") << "No Good Vertex found == Reject";
363 #endif
364  return;
365  }
366  reco::VertexCollection::const_iterator firstGoodVertex = vtx->end();
367  for (reco::VertexCollection::const_iterator it = vtx->begin(); it != vtx->end(); it++) {
368  if (isGoodVertex(*it)) {
369  if (firstGoodVertex == vtx->end())
370  firstGoodVertex = it;
371  ++goodVertex_;
372  }
373  }
374  if (firstGoodVertex != vtx->end())
375  pvx = firstGoodVertex->position();
376 
377  bool accept(false);
378  if (_Muon.isValid() && barrelRecHitsHandle.isValid() && endcapRecHitsHandle.isValid() && hbhe.isValid()) {
379  for (const auto& RecMuon : (*(_Muon.product()))) {
380  muon_is_good.push_back(RecMuon.isPFMuon());
381  muon_global.push_back(RecMuon.isGlobalMuon());
382  muon_tracker.push_back(RecMuon.isTrackerMuon());
383  ptGlob.push_back(RecMuon.pt());
384  etaGlob.push_back(RecMuon.eta());
385  phiGlob.push_back(RecMuon.phi());
386  energyMuon.push_back(RecMuon.energy());
387  pMuon.push_back(RecMuon.p());
388 #ifdef EDM_ML_DEBUG
389  edm::LogVerbatim("HBHEMuon") << "Energy:" << RecMuon.energy() << " P:" << RecMuon.p();
390 #endif
391  muon_is_tight.push_back(muon::isTightMuon(RecMuon, *firstGoodVertex));
392  muon_is_medium.push_back(muon::isMediumMuon(RecMuon));
393  muon_trkKink.push_back(RecMuon.combinedQuality().trkKink);
394  muon_chi2LocalPosition.push_back(RecMuon.combinedQuality().chi2LocalPosition);
395  muon_segComp.push_back(muon::segmentCompatibility(RecMuon));
396  // acessing tracker hits info
397  if (RecMuon.track().isNonnull()) {
398  trackerLayer.push_back(RecMuon.track()->hitPattern().trackerLayersWithMeasurement());
399  } else {
400  trackerLayer.push_back(-1);
401  }
402  if (RecMuon.innerTrack().isNonnull()) {
403  innerTrack.push_back(true);
404  numPixelLayers.push_back(RecMuon.innerTrack()->hitPattern().pixelLayersWithMeasurement());
405  chiTracker.push_back(RecMuon.innerTrack()->normalizedChi2());
406  dxyTracker.push_back(fabs(RecMuon.innerTrack()->dxy(pvx)));
407  dzTracker.push_back(fabs(RecMuon.innerTrack()->dz(pvx)));
408  innerTrackpt.push_back(RecMuon.innerTrack()->pt());
409  innerTracketa.push_back(RecMuon.innerTrack()->eta());
410  innerTrackphi.push_back(RecMuon.innerTrack()->phi());
411  tight_PixelHits.push_back(RecMuon.innerTrack()->hitPattern().numberOfValidPixelHits());
412  tight_validFraction.push_back(RecMuon.innerTrack()->validFraction());
413  } else {
414  innerTrack.push_back(false);
415  numPixelLayers.push_back(0);
416  chiTracker.push_back(0);
417  dxyTracker.push_back(0);
418  dzTracker.push_back(0);
419  innerTrackpt.push_back(0);
420  innerTracketa.push_back(0);
421  innerTrackphi.push_back(0);
422  tight_PixelHits.push_back(0);
423  tight_validFraction.push_back(-99);
424  }
425  // outer track info
426  if (RecMuon.outerTrack().isNonnull()) {
427  outerTrack.push_back(true);
428  outerTrackPt.push_back(RecMuon.outerTrack()->pt());
429  outerTrackEta.push_back(RecMuon.outerTrack()->eta());
430  outerTrackPhi.push_back(RecMuon.outerTrack()->phi());
431  outerTrackChi.push_back(RecMuon.outerTrack()->normalizedChi2());
432  outerTrackHits.push_back(RecMuon.outerTrack()->numberOfValidHits());
433  outerTrackRHits.push_back(RecMuon.outerTrack()->recHitsSize());
434  } else {
435  outerTrack.push_back(false);
436  outerTrackPt.push_back(0);
437  outerTrackEta.push_back(0);
438  outerTrackPhi.push_back(0);
439  outerTrackChi.push_back(0);
440  outerTrackHits.push_back(0);
441  outerTrackRHits.push_back(0);
442  }
443  // Tight Muon cuts
444  if (RecMuon.globalTrack().isNonnull()) {
445  globalTrack.push_back(true);
446  chiGlobal.push_back(RecMuon.globalTrack()->normalizedChi2());
447  globalMuonHits.push_back(RecMuon.globalTrack()->hitPattern().numberOfValidMuonHits());
448  matchedStat.push_back(RecMuon.numberOfMatchedStations());
449  globalTrckPt.push_back(RecMuon.globalTrack()->pt());
450  globalTrckEta.push_back(RecMuon.globalTrack()->eta());
451  globalTrckPhi.push_back(RecMuon.globalTrack()->phi());
452  tight_TransImpara.push_back(fabs(RecMuon.muonBestTrack()->dxy(pvx)));
453  tight_LongPara.push_back(fabs(RecMuon.muonBestTrack()->dz(pvx)));
454  } else {
455  globalTrack.push_back(false);
456  chiGlobal.push_back(0);
457  globalMuonHits.push_back(0);
458  matchedStat.push_back(0);
459  globalTrckPt.push_back(0);
460  globalTrckEta.push_back(0);
461  globalTrckPhi.push_back(0);
462  tight_TransImpara.push_back(0);
463  tight_LongPara.push_back(0);
464  }
465 
466  isolationR04.push_back(
467  ((RecMuon.pfIsolationR04().sumChargedHadronPt +
468  std::max(0.,
469  RecMuon.pfIsolationR04().sumNeutralHadronEt + RecMuon.pfIsolationR04().sumPhotonEt -
470  (0.5 * RecMuon.pfIsolationR04().sumPUPt))) /
471  RecMuon.pt()));
472 
473  isolationR03.push_back(
474  ((RecMuon.pfIsolationR03().sumChargedHadronPt +
475  std::max(0.,
476  RecMuon.pfIsolationR03().sumNeutralHadronEt + RecMuon.pfIsolationR03().sumPhotonEt -
477  (0.5 * RecMuon.pfIsolationR03().sumPUPt))) /
478  RecMuon.pt()));
479 
480  ecalEnergy.push_back(RecMuon.calEnergy().emS9);
481  hcalEnergy.push_back(RecMuon.calEnergy().hadS9);
482  hoEnergy.push_back(RecMuon.calEnergy().hoS9);
483 
484  double eEcal(0), eHcal(0), activeLengthTot(0), activeLengthHotTot(0);
485  double eHcalDepth[depthMax_], eHcalDepthHot[depthMax_];
486  double eHcalDepthC[depthMax_], eHcalDepthHotC[depthMax_];
487  double cHcalDepthHot[depthMax_], cHcalDepthHotBG[depthMax_];
488  double activeL[depthMax_], activeHotL[depthMax_];
489  bool matchDepth[depthMax_], matchDepthHot[depthMax_];
490  HcalDetId eHcalDetId[depthMax_];
491  unsigned int isHot(0);
492  bool tmpmatch(false);
493  int ieta(-1000), iphi(-1000);
494  for (int i = 0; i < depthMax_; ++i) {
495  eHcalDepth[i] = eHcalDepthHot[i] = 0;
496  eHcalDepthC[i] = eHcalDepthHotC[i] = 0;
497  cHcalDepthHot[i] = cHcalDepthHotBG[i] = 0;
498  activeL[i] = activeHotL[i] = 0;
499  matchDepth[i] = matchDepthHot[i] = true;
500  }
501  if (RecMuon.innerTrack().isNonnull()) {
502  const reco::Track* pTrack = (RecMuon.innerTrack()).get();
503  spr::propagatedTrackID trackID = spr::propagateCALO(pTrack, geo_, bField, (((verbosity_ / 100) % 10 > 0)));
504  if ((RecMuon.p() > pMinMuon_) && (trackID.okHCAL))
505  accept = true;
506 
507  ecalDetId.push_back((trackID.detIdECAL)());
508  hcalDetId.push_back((trackID.detIdHCAL)());
509  ehcalDetId.push_back((trackID.detIdEHCAL)());
510 
512  std::pair<bool, HcalDetId> info = spr::propagateHCALBack(pTrack, geo_, bField, (((verbosity_ / 100) % 10 > 0)));
513  if (info.first) {
514  check = info.second;
515  }
516 
517  bool okE = trackID.okECAL;
518  if (okE) {
519  const DetId isoCell(trackID.detIdECAL);
520  std::pair<double, bool> e3x3 = (usePFThresh_ ? spr::eECALmatrix(isoCell,
521  barrelRecHitsHandle,
522  endcapRecHitsHandle,
523  *theEcalChStatus,
524  geo_,
525  caloTopology,
526  sevlv,
527  eThresholds,
528  1,
529  1,
530  false)
531  : spr::eECALmatrix(isoCell,
532  barrelRecHitsHandle,
533  endcapRecHitsHandle,
534  *theEcalChStatus,
535  geo_,
536  caloTopology,
537  sevlv,
538  1,
539  1,
540  -100.0,
541  -100.0,
542  -500.0,
543  500.0,
544  false));
545  eEcal = e3x3.first;
546  okE = e3x3.second;
547  }
548 #ifdef EDM_ML_DEBUG
549  edm::LogVerbatim("HBHEMuon") << "Propagate Track to ECAL: " << okE << ":" << trackID.okECAL << " E " << eEcal;
550 #endif
551 
552  if (trackID.okHCAL) {
553  DetId closestCell(trackID.detIdHCAL);
554  HcalDetId hcidt(closestCell.rawId());
555  if ((hcidt.ieta() == check.ieta()) && (hcidt.iphi() == check.iphi()))
556  tmpmatch = true;
557 #ifdef EDM_ML_DEBUG
558  edm::LogVerbatim("HBHEMuon") << "Front " << hcidt << " Back " << info.first << ":" << check << " Match "
559  << tmpmatch;
560 #endif
561 
562  HcalSubdetector subdet = hcidt.subdet();
563  ieta = hcidt.ieta();
564  iphi = hcidt.iphi();
565  bool hborhe = (std::abs(ieta) == 16);
566 
568  closestCell,
569  hbhe,
570  0,
571  0,
572  false,
573  true,
574  -100.0,
575  -100.0,
576  -100.0,
577  -100.0,
578  -500.,
579  500.,
580  useRaw_);
581  std::vector<std::pair<double, int>> ehdepth;
582  spr::energyHCALCell((HcalDetId)closestCell,
583  hbhe,
584  ehdepth,
585  maxDepth_,
586  -100.0,
587  -100.0,
588  -100.0,
589  -100.0,
590  -500.0,
591  500.0,
592  useRaw_,
593  depth16HE(ieta, iphi),
594  (((verbosity_ / 1000) % 10) > 0));
595  for (int i = 0; i < depthMax_; ++i)
596  eHcalDetId[i] = HcalDetId();
597  for (unsigned int i = 0; i < ehdepth.size(); ++i) {
598  HcalSubdetector subdet0 =
599  (hborhe) ? ((ehdepth[i].second >= depth16HE(ieta, iphi)) ? HcalEndcap : HcalBarrel) : subdet;
600  HcalDetId hcid0(subdet0, ieta, iphi, ehdepth[i].second);
601  double actL = activeLength(DetId(hcid0), ((verbosity_ / 100000) % 10));
602  double ene = ehdepth[i].first;
603 #ifdef EDM_ML_DEBUG
604  if ((verbosity_ / 100000) % 10)
605  edm::LogVerbatim("HBHEMuon")
606  << "DetId " << subdet0 << ":" << ieta << ":" << iphi << ":" << ehdepth[i].second << " E " << ene;
607 #endif
608  bool tmpC(false);
609  if (ene > 0.0) {
610  if (!(theHBHETopology_->validHcal(hcid0))) {
611  edm::LogWarning("HBHEMuon") << "(1) Invalid ID " << hcid0 << " with E = " << ene;
612  edm::LogWarning("HBHEMuon") << HcalDetId(closestCell) << " with " << ehdepth.size() << " depths:";
613  for (const auto& ehd : ehdepth)
614  edm::LogWarning("HBHEMuon") << " " << ehd.second << ":" << ehd.first;
615  } else {
616  tmpC = goodCell(hcid0, pTrack, geo_, bField);
617  double enec(ene);
618  if (unCorrect_) {
619  double corr = (ignoreHECorr_ && (subdet0 == HcalEndcap)) ? 1.0 : respCorr(DetId(hcid0));
620  if (corr != 0)
621  ene /= corr;
622 #ifdef EDM_ML_DEBUG
623  HcalDetId id = (isItPlan1_ && isItPreRecHit_) ? hdc_->mergedDepthDetId(hcid0) : hcid0;
624  edm::LogVerbatim("HBHEMuon") << hcid0 << ":" << id << " Corr " << corr;
625 #endif
626  }
627  int depth = ehdepth[i].second - 1;
628  if (collapseDepth_) {
629  HcalDetId id = hdc_->mergedDepthDetId(hcid0);
630  depth = id.depth() - 1;
631  }
632  eHcalDepth[depth] += ene;
633  eHcalDepthC[depth] += enec;
634  activeL[depth] += actL;
635  activeLengthTot += actL;
636  matchDepth[depth] = (matchDepth[depth] && tmpC);
637 #ifdef EDM_ML_DEBUG
638  if ((verbosity_ % 10) > 0)
639  edm::LogVerbatim("HBHEMuon")
640  << hcid0 << " E " << ene << ":" << enec << " L " << actL << " Match " << tmpC;
641 #endif
642  }
643  }
644  }
645 #ifdef EDM_ML_DEBUG
646  if ((verbosity_ % 10) > 0) {
647  edm::LogVerbatim("HBHEMuon") << hcidt << " Match " << tmpmatch << " Depths " << ehdepth.size();
648  for (unsigned int k = 0; k < ehdepth.size(); ++k)
649  edm::LogVerbatim("HBHEMuon") << " [" << k << ":" << ehdepth[k].second << "] Match " << matchDepth[k]
650  << " E " << eHcalDepth[k] << ":" << eHcalDepthC[k] << " L " << activeL[k];
651  }
652 #endif
653  HcalDetId hotCell;
654  spr::eHCALmatrix(geo_, theHBHETopology_, closestCell, hbhe, 1, 1, hotCell, false, useRaw_, false);
655  isHot = matchId(closestCell, hotCell);
656  if (hotCell != HcalDetId()) {
657  subdet = HcalDetId(hotCell).subdet();
658  ieta = HcalDetId(hotCell).ieta();
659  iphi = HcalDetId(hotCell).iphi();
660  hborhe = (std::abs(ieta) == 16);
661  std::vector<std::pair<double, int>> ehdepth;
662  spr::energyHCALCell(hotCell,
663  hbhe,
664  ehdepth,
665  maxDepth_,
666  -100.0,
667  -100.0,
668  -100.0,
669  -100.0,
670  -500.0,
671  500.0,
672  useRaw_,
673  depth16HE(ieta, iphi),
674  false); //(((verbosity_/1000)%10)>0 ));
675  for (int i = 0; i < depthMax_; ++i)
676  eHcalDetId[i] = HcalDetId();
677  for (unsigned int i = 0; i < ehdepth.size(); ++i) {
678  HcalSubdetector subdet0 =
679  (hborhe) ? ((ehdepth[i].second >= depth16HE(ieta, iphi)) ? HcalEndcap : HcalBarrel) : subdet;
680  HcalDetId hcid0(subdet0, ieta, iphi, ehdepth[i].second);
681  double actL = activeLength(DetId(hcid0), ((verbosity_ / 100000) % 10));
682  double ene = ehdepth[i].first;
683 #ifdef EDM_ML_DEBUG
684  if ((verbosity_ / 100000) % 10)
685  edm::LogVerbatim("HBHEMuon")
686  << "DetId " << subdet0 << ":" << ieta << ":" << iphi << ":" << ehdepth[i].second << " E " << ene;
687 #endif
688  bool tmpC(false);
689  if (ene > 0.0) {
690  if (!(theHBHETopology_->validHcal(hcid0))) {
691  edm::LogWarning("HBHEMuon") << "(2) Invalid ID " << hcid0 << " with E = " << ene;
692  edm::LogWarning("HBHEMuon") << HcalDetId(hotCell) << " with " << ehdepth.size() << " depths:";
693  for (const auto& ehd : ehdepth)
694  edm::LogWarning("HBHEMuon") << " " << ehd.second << ":" << ehd.first;
695  } else {
696  tmpC = goodCell(hcid0, pTrack, geo_, bField);
697  double chg(ene), enec(ene);
698  if (unCorrect_) {
699  double corr = (ignoreHECorr_ && (subdet0 == HcalEndcap)) ? 1.0 : respCorr(DetId(hcid0));
700  if (corr != 0)
701  ene /= corr;
702 #ifdef EDM_ML_DEBUG
703  HcalDetId id = (isItPlan1_ && isItPreRecHit_) ? hdc_->mergedDepthDetId(hcid0) : hcid0;
704  edm::LogVerbatim("HBHEMuon")
705  << hcid0 << ":" << id << " Corr " << corr << " E " << ene << ":" << enec;
706 #endif
707  }
708  if (getCharge_) {
709  double gain = gainFactor(conditions, hcid0);
710  if (gain != 0)
711  chg /= gain;
712 #ifdef EDM_ML_DEBUG
713  edm::LogVerbatim("HBHEMuon") << hcid0 << " Gain " << gain << " C " << chg;
714 #endif
715  }
716  int depth = ehdepth[i].second - 1;
717  if (collapseDepth_) {
718  HcalDetId id = hdc_->mergedDepthDetId(hcid0);
719  depth = id.depth() - 1;
720  }
721  eHcalDepthHot[depth] += ene;
722  eHcalDepthHotC[depth] += enec;
723  cHcalDepthHot[depth] += chg;
724  activeHotL[depth] += actL;
725  activeLengthHotTot += actL;
726  matchDepthHot[depth] = (matchDepthHot[depth] && tmpC);
727 #ifdef EDM_ML_DEBUG
728  if ((verbosity_ % 10) > 0)
729  edm::LogVerbatim("HBHEMuon") << hcid0 << " depth " << depth << " E " << ene << ":" << enec << " C "
730  << chg << " L " << actL << " Match " << tmpC;
731 #endif
732  }
733  }
734  }
735 
736  HcalDetId oppCell(subdet, -ieta, iphi, HcalDetId(hotCell).depth());
737  std::vector<std::pair<double, int>> ehdeptho;
738  spr::energyHCALCell(oppCell,
739  hbhe,
740  ehdeptho,
741  maxDepth_,
742  -100.0,
743  -100.0,
744  -100.0,
745  -100.0,
746  -500.0,
747  500.0,
748  useRaw_,
749  depth16HE(-ieta, iphi),
750  false); //(((verbosity_/1000)%10)>0));
751  for (unsigned int i = 0; i < ehdeptho.size(); ++i) {
752  HcalSubdetector subdet0 =
753  (hborhe) ? ((ehdeptho[i].second >= depth16HE(-ieta, iphi)) ? HcalEndcap : HcalBarrel) : subdet;
754  HcalDetId hcid0(subdet0, -ieta, iphi, ehdeptho[i].second);
755  double ene = ehdeptho[i].first;
756  if (ene > 0.0) {
757  if (!(theHBHETopology_->validHcal(hcid0))) {
758  edm::LogWarning("HBHEMuon") << "(3) Invalid ID " << hcid0 << " with E = " << ene;
759  edm::LogWarning("HBHEMuon") << oppCell << " with " << ehdeptho.size() << " depths:";
760  for (const auto& ehd : ehdeptho)
761  edm::LogWarning("HBHEMuon") << " " << ehd.second << ":" << ehd.first;
762  } else {
763  double chg(ene);
764  if (unCorrect_) {
765  double corr = (ignoreHECorr_ && (subdet0 == HcalEndcap)) ? 1.0 : respCorr(DetId(hcid0));
766  if (corr != 0)
767  ene /= corr;
768 #ifdef EDM_ML_DEBUG
769  HcalDetId id = (isItPlan1_ && isItPreRecHit_) ? hdc_->mergedDepthDetId(hcid0) : hcid0;
770  edm::LogVerbatim("HBHEMuon")
771  << hcid0 << ":" << id << " Corr " << corr << " E " << ene << ":" << ehdeptho[i].first;
772 #endif
773  }
774  if (getCharge_) {
775  double gain = gainFactor(conditions, hcid0);
776  if (gain != 0)
777  chg /= gain;
778 #ifdef EDM_ML_DEBUG
779  edm::LogVerbatim("HBHEMuon") << hcid0 << " Gain " << gain << " C " << chg;
780 #endif
781  }
782  int depth = ehdeptho[i].second - 1;
783  if (collapseDepth_) {
784  HcalDetId id = hdc_->mergedDepthDetId(hcid0);
785  depth = id.depth() - 1;
786  }
787  cHcalDepthHotBG[depth] += chg;
788 #ifdef EDM_ML_DEBUG
789  if ((verbosity_ % 10) > 0)
790  edm::LogVerbatim("HBHEMuon") << hcid0 << " Depth " << depth << " E " << ene << " C " << chg;
791 #endif
792  }
793  }
794  }
795  }
796  }
797 #ifdef EDM_ML_DEBUG
798  edm::LogVerbatim("HBHEMuon") << "Propagate Track to HCAL: " << trackID.okHCAL << " Match " << tmpmatch
799  << " Hot " << isHot << " Energy " << eHcal << std::endl;
800 #endif
801 
802  } else {
803  ecalDetId.push_back(0);
804  hcalDetId.push_back(0);
805  ehcalDetId.push_back(0);
806  }
807 
808  matchedId.push_back(tmpmatch);
809  ecal3x3Energy.push_back(eEcal);
810  hcal1x1Energy.push_back(eHcal);
811  hcal_ieta.push_back(ieta);
812  hcal_iphi.push_back(iphi);
813  for (int i = 0; i < depthMax_; ++i) {
814  hcalDepthEnergy[i].push_back(eHcalDepth[i]);
815  hcalDepthActiveLength[i].push_back(activeL[i]);
816  hcalDepthEnergyHot[i].push_back(eHcalDepthHot[i]);
817  hcalDepthActiveLengthHot[i].push_back(activeHotL[i]);
818  hcalDepthEnergyCorr[i].push_back(eHcalDepthC[i]);
819  hcalDepthEnergyHotCorr[i].push_back(eHcalDepthHotC[i]);
820  hcalDepthChargeHot[i].push_back(cHcalDepthHot[i]);
821  hcalDepthChargeHotBG[i].push_back(cHcalDepthHotBG[i]);
822  hcalDepthMatch[i].push_back(matchDepth[i]);
823  hcalDepthMatchHot[i].push_back(matchDepthHot[i]);
824  }
825  hcalActiveLength.push_back(activeLengthTot);
826  hcalHot.push_back(isHot);
827  hcalActiveLengthHot.push_back(activeLengthHotTot);
828  }
829  }
830  if (accept) {
831 #ifdef EDM_ML_DEBUG
832  for (unsigned int i = 0; i < hcal_ieta.size(); ++i)
833  edm::LogVerbatim("HBHEMuon") << "[" << i << "] ieta/iphi for entry to "
834  << "HCAL has value of " << hcal_ieta[i] << ":" << hcal_iphi[i];
835 #endif
836  for (unsigned int k = 0; k < muon_is_good.size(); ++k) {
837  muon_is_good_ = muon_is_good[k];
838  muon_global_ = muon_global[k];
839  muon_tracker_ = muon_tracker[k];
840  muon_is_tight_ = muon_is_tight[k];
841  muon_is_medium_ = muon_is_medium[k];
842  ptGlob_ = ptGlob[k];
843  etaGlob_ = etaGlob[k];
844  phiGlob_ = phiGlob[k];
845  energyMuon_ = energyMuon[k];
846  pMuon_ = pMuon[k];
847  muon_trkKink_ = muon_trkKink[k];
848  muon_chi2LocalPosition_ = muon_chi2LocalPosition[k];
849  muon_segComp_ = muon_segComp[k];
850  trackerLayer_ = trackerLayer[k];
851  numPixelLayers_ = numPixelLayers[k];
852  tight_PixelHits_ = tight_PixelHits[k];
854  outerTrack_ = outerTrack[k];
856  chiTracker_ = chiTracker[k];
857  dxyTracker_ = dxyTracker[k];
858  dzTracker_ = dzTracker[k];
859  innerTrackpt_ = innerTrackpt[k];
860  innerTracketa_ = innerTracketa[k];
861  innerTrackphi_ = innerTrackphi[k];
862  tight_validFraction_ = tight_validFraction[k];
863  outerTrackChi_ = outerTrackChi[k];
864  outerTrackPt_ = outerTrackPt[k];
865  outerTrackEta_ = outerTrackEta[k];
866  outerTrackPhi_ = outerTrackPhi[k];
867  outerTrackHits_ = outerTrackHits[k];
868  outerTrackRHits_ = outerTrackRHits[k];
869  globalTrckPt_ = globalTrckPt[k];
870  globalTrckEta_ = globalTrckEta[k];
871  globalTrckPhi_ = globalTrckPhi[k];
872  globalMuonHits_ = globalMuonHits[k];
873  matchedStat_ = matchedStat[k];
874  chiGlobal_ = chiGlobal[k];
875  tight_LongPara_ = tight_LongPara[k];
876  tight_TransImpara_ = tight_TransImpara[k];
880  hcalEnergy_ = hcalEnergy[k];
881  hoEnergy_ = hoEnergy[k];
882  matchedId_ = matchedId[k];
883  hcalHot_ = hcalHot[k];
884  ecal3x3Energy_ = ecal3x3Energy[k];
885  hcal1x1Energy_ = hcal1x1Energy[k];
886  ecalDetId_ = ecalDetId[k];
887  hcalDetId_ = hcalDetId[k];
888  ehcalDetId_ = ehcalDetId[k];
889  hcal_ieta_ = hcal_ieta[k];
890  hcal_iphi_ = hcal_iphi[k];
891  for (int i = 0; i < depthMax_; ++i) {
892  hcalDepthEnergy_[i] = hcalDepthEnergy[i][k];
893  hcalDepthActiveLength_[i] = hcalDepthActiveLength[i][k];
894  hcalDepthEnergyHot_[i] = hcalDepthEnergyHot[i][k];
895  hcalDepthActiveLengthHot_[i] = hcalDepthActiveLengthHot[i][k];
896  hcalDepthChargeHot_[i] = hcalDepthChargeHot[i][k];
897  hcalDepthChargeHotBG_[i] = hcalDepthChargeHotBG[i][k];
898  hcalDepthEnergyCorr_[i] = hcalDepthEnergyCorr[i][k];
899  hcalDepthEnergyHotCorr_[i] = hcalDepthEnergyHotCorr[i][k];
900  hcalDepthMatch_[i] = hcalDepthMatch[i][k];
901  hcalDepthMatchHot_[i] = hcalDepthMatchHot[i][k];
902  }
903  hcalActiveLength_ = hcalActiveLength[k];
904  hcalActiveLengthHot_ = hcalActiveLengthHot[k];
905  tree_->Fill();
906  }
907  }
908 }
double gainFactor(const HcalDbService *dbserv, const HcalDetId &id)
std::vector< int > hltresults_
bool accept() const
Has at least one path accepted the event?
Log< level::Info, true > LogVerbatim
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, const std::string &theTrackQuality, bool debug=false)
const HcalTopology * theHBHETopology_
double hcalDepthEnergyHot_[depthMax_]
static const TGPicture * info(bool iBackgroundIsBlack)
std::vector< std::string > all_triggers_
HcalDetId mergedDepthDetId(const HcalDetId &id) const
bool isMediumMuon(const reco::Muon &, bool run2016_hip_mitigation=false)
const float chg[109]
Definition: CoreSimTrack.cc:5
const edm::EDGetTokenT< reco::MuonCollection > tok_Muon_
T const * product() const
Definition: Handle.h:70
const edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > tok_sevlv_
double respCorr(const DetId &id)
double hcalDepthChargeHot_[depthMax_]
const edm::ESGetToken< CaloTopology, CaloTopologyRecord > tok_topo_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
double hcalDepthActiveLengthHot_[depthMax_]
double hcalDepthEnergyCorr_[depthMax_]
unsigned int triggerIndex(std::string_view name) const
Definition: TriggerNames.cc:52
double hcalDepthActiveLength_[depthMax_]
U second(std::pair< T, U > const &p)
const edm::ESGetToken< HcalDbService, HcalDbRecord > tok_dbservice_
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
double hcalDepthEnergyHotCorr_[depthMax_]
bool hcalDepthMatchHot_[depthMax_]
unsigned int size() const
Get number of paths stored.
int iEvent
Definition: GenABIO.cc:224
double activeLength(const DetId &, bool)
dictionary corr
spr::propagatedTrackDirection propagateHCALBack(unsigned int thisTrk, edm::Handle< edm::SimTrackContainer > &SimTk, edm::Handle< edm::SimVertexContainer > &SimVtx, const CaloGeometry *geo, const MagneticField *bField, bool debug=false)
constexpr int ieta() const
get the cell ieta
Definition: HcalDetId.h:155
HcalSubdetector
Definition: HcalAssistant.h:31
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const edm::EDGetTokenT< HBHERecHitCollection > tok_HBHE_
const CaloGeometry * geo_
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
bool goodCell(const HcalDetId &hcid, const reco::Track *pTrack, const CaloGeometry *geo, const MagneticField *bField)
double hcalDepthChargeHotBG_[depthMax_]
Definition: DetId.h:17
const edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
double hcalDepthEnergy_[depthMax_]
int depth16HE(int ieta, int iphi)
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
bool hcalDepthMatch_[depthMax_]
const edm::ESGetToken< EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd > tok_ecalPFRecHitThresholds_
const edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
bool isValid() const
Definition: HandleBase.h:70
bool validHcal(const HcalDetId &id) const
int matchId(const HcalDetId &, const HcalDetId &)
const edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
const HcalDDDRecConstants * hdc_
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > tok_chan_
const edm::EDGetTokenT< reco::VertexCollection > tok_Vtx_
const edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > tok_magField_
Log< level::Warning, false > LogWarning
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
void energyHCALCell(HcalDetId detId, edm::Handle< T > &hits, std::vector< std::pair< double, int > > &energyCell, int maxDepth=1, double hbThr=-100, double heThr=-100, double hfThr=-100, double hoThr=-100, double tMin=-500, double tMax=500, int useRaw=0, int depthHE=3, bool debug=false)
constexpr int iphi() const
get the cell iphi
Definition: HcalDetId.h:157
bool isGoodVertex(const reco::Vertex &vtx)
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)

◆ beginJob()

void HcalHBHEMuonAnalyzer::beginJob ( )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 911 of file HcalHBHEMuonAnalyzer.cc.

References all_triggers_, bxNumber_, chiGlobal_, chiTracker_, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, ecalEnergy_, ehcalDetId_, energyMuon_, etaGlob_, eventNumber_, compareTotals::fs, globalMuonHits_, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, goodVertex_, hcal1x1Energy_, hcal_ieta_, hcal_iphi_, hcalActiveLength_, hcalActiveLengthHot_, hcalDepthActiveLength_, hcalDepthActiveLengthHot_, hcalDepthChargeHot_, hcalDepthChargeHotBG_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, hcalDepthMatch_, hcalDepthMatchHot_, hcalDetId_, hcalEnergy_, hcalHot_, hltresults_, hoEnergy_, innerTrack_, innerTracketa_, innerTrackphi_, innerTrackpt_, isolationR03_, isolationR04_, dqmdumpme::k, lumiNumber_, matchedId_, matchedStat_, maxDepth_, muon_chi2LocalPosition_, muon_global_, muon_is_good_, muon_is_medium_, muon_is_tight_, muon_segComp_, muon_tracker_, muon_trkKink_, Skims_PA_cff::name, numPixelLayers_, outerTrack_, outerTrackChi_, outerTrackEta_, outerTrackHits_, outerTrackPhi_, outerTrackPt_, outerTrackRHits_, phiGlob_, pMuon_, ptGlob_, runNumber_, tight_LongPara_, tight_PixelHits_, tight_TransImpara_, tight_validFraction_, trackerLayer_, and tree_.

911  {
913  tree_ = fs->make<TTree>("TREE", "TREE");
914  tree_->Branch("Event_No", &eventNumber_);
915  tree_->Branch("Run_No", &runNumber_);
916  tree_->Branch("LumiNumber", &lumiNumber_);
917  tree_->Branch("BXNumber", &bxNumber_);
918  tree_->Branch("GoodVertex", &goodVertex_);
919  tree_->Branch("PF_Muon", &muon_is_good_);
920  tree_->Branch("Global_Muon", &muon_global_);
921  tree_->Branch("Tracker_muon", &muon_tracker_);
922  tree_->Branch("MuonIsTight", &muon_is_tight_);
923  tree_->Branch("MuonIsMedium", &muon_is_medium_);
924  tree_->Branch("pt_of_muon", &ptGlob_);
925  tree_->Branch("eta_of_muon", &etaGlob_);
926  tree_->Branch("phi_of_muon", &phiGlob_);
927  tree_->Branch("energy_of_muon", &energyMuon_);
928  tree_->Branch("p_of_muon", &pMuon_);
929  tree_->Branch("muon_trkKink", &muon_trkKink_);
930  tree_->Branch("muon_chi2LocalPosition", &muon_chi2LocalPosition_);
931  tree_->Branch("muon_segComp", &muon_segComp_);
932 
933  tree_->Branch("TrackerLayer", &trackerLayer_);
934  tree_->Branch("NumPixelLayers", &numPixelLayers_);
935  tree_->Branch("InnerTrackPixelHits", &tight_PixelHits_);
936  tree_->Branch("innerTrack", &innerTrack_);
937  tree_->Branch("chiTracker", &chiTracker_);
938  tree_->Branch("DxyTracker", &dxyTracker_);
939  tree_->Branch("DzTracker", &dzTracker_);
940  tree_->Branch("innerTrackpt", &innerTrackpt_);
941  tree_->Branch("innerTracketa", &innerTracketa_);
942  tree_->Branch("innerTrackphi", &innerTrackphi_);
943  tree_->Branch("tight_validFraction", &tight_validFraction_);
944 
945  tree_->Branch("OuterTrack", &outerTrack_);
946  tree_->Branch("OuterTrackChi", &outerTrackChi_);
947  tree_->Branch("OuterTrackPt", &outerTrackPt_);
948  tree_->Branch("OuterTrackEta", &outerTrackEta_);
949  tree_->Branch("OuterTrackPhi", &outerTrackPhi_);
950  tree_->Branch("OuterTrackHits", &outerTrackHits_);
951  tree_->Branch("OuterTrackRHits", &outerTrackRHits_);
952 
953  tree_->Branch("GlobalTrack", &globalTrack_);
954  tree_->Branch("GlobalTrckPt", &globalTrckPt_);
955  tree_->Branch("GlobalTrckEta", &globalTrckEta_);
956  tree_->Branch("GlobalTrckPhi", &globalTrckPhi_);
957  tree_->Branch("Global_Muon_Hits", &globalMuonHits_);
958  tree_->Branch("MatchedStations", &matchedStat_);
959  tree_->Branch("GlobTrack_Chi", &chiGlobal_);
960  tree_->Branch("Tight_LongitudinalImpactparameter", &tight_LongPara_);
961  tree_->Branch("Tight_TransImpactparameter", &tight_TransImpara_);
962 
963  tree_->Branch("IsolationR04", &isolationR04_);
964  tree_->Branch("IsolationR03", &isolationR03_);
965  tree_->Branch("ecal_3into3", &ecalEnergy_);
966  tree_->Branch("hcal_3into3", &hcalEnergy_);
967  tree_->Branch("tracker_3into3", &hoEnergy_);
968 
969  tree_->Branch("matchedId", &matchedId_);
970  tree_->Branch("hcal_cellHot", &hcalHot_);
971 
972  tree_->Branch("ecal_3x3", &ecal3x3Energy_);
973  tree_->Branch("hcal_1x1", &hcal1x1Energy_);
974  tree_->Branch("ecal_detID", &ecalDetId_);
975  tree_->Branch("hcal_detID", &hcalDetId_);
976  tree_->Branch("ehcal_detID", &ehcalDetId_);
977  tree_->Branch("hcal_ieta", &hcal_ieta_);
978  tree_->Branch("hcal_iphi", &hcal_iphi_);
979 
980  char name[100];
981  for (int k = 0; k < maxDepth_; ++k) {
982  sprintf(name, "hcal_edepth%d", (k + 1));
983  tree_->Branch(name, &hcalDepthEnergy_[k]);
984  sprintf(name, "hcal_activeL%d", (k + 1));
985  tree_->Branch(name, &hcalDepthActiveLength_[k]);
986  sprintf(name, "hcal_edepthHot%d", (k + 1));
987  tree_->Branch(name, &hcalDepthEnergyHot_[k]);
988  sprintf(name, "hcal_activeHotL%d", (k + 1));
990  sprintf(name, "hcal_cdepthHot%d", (k + 1));
991  tree_->Branch(name, &hcalDepthChargeHot_[k]);
992  sprintf(name, "hcal_cdepthHotBG%d", (k + 1));
993  tree_->Branch(name, &hcalDepthChargeHotBG_[k]);
994  sprintf(name, "hcal_edepthCorrect%d", (k + 1));
995  tree_->Branch(name, &hcalDepthEnergyCorr_[k]);
996  sprintf(name, "hcal_edepthHotCorrect%d", (k + 1));
997  tree_->Branch(name, &hcalDepthEnergyHotCorr_[k]);
998  sprintf(name, "hcal_depthMatch%d", (k + 1));
999  tree_->Branch(name, &hcalDepthMatch_[k]);
1000  sprintf(name, "hcal_depthMatchHot%d", (k + 1));
1001  tree_->Branch(name, &hcalDepthMatchHot_[k]);
1002  }
1003 
1004  tree_->Branch("activeLength", &hcalActiveLength_);
1005  tree_->Branch("activeLengthHot", &hcalActiveLengthHot_);
1006 
1007  tree_->Branch("hltresults", &hltresults_);
1008  tree_->Branch("all_triggers", &all_triggers_);
1009 }
std::vector< int > hltresults_
double hcalDepthEnergyHot_[depthMax_]
std::vector< std::string > all_triggers_
double hcalDepthChargeHot_[depthMax_]
double hcalDepthActiveLengthHot_[depthMax_]
double hcalDepthEnergyCorr_[depthMax_]
double hcalDepthActiveLength_[depthMax_]
double hcalDepthEnergyHotCorr_[depthMax_]
bool hcalDepthMatchHot_[depthMax_]
double hcalDepthChargeHotBG_[depthMax_]
double hcalDepthEnergy_[depthMax_]
bool hcalDepthMatch_[depthMax_]

◆ beginRun()

void HcalHBHEMuonAnalyzer::beginRun ( edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overrideprivate

Definition at line 1012 of file HcalHBHEMuonAnalyzer.cc.

References actHB, actHE, activeLength(), all_triggers_, geo_, edm::EventSetup::getData(), CaloGeometry::getSubdetectorGeometry(), HcalDDDRecConstants::getThickActive(), HcalGeometry::getValidDetIds(), reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), DetId::Hcal, HcalBarrel, HcalEndcap, hdc_, hltConfig_, HLTConfigProvider::init(), mergedDepth_, HcalDDDRecConstants::mergedDepthDetId(), DetId::rawId(), respCorrs_, edm::RunBase::run(), HcalCondObjectContainerBase::setTopo(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, submitPVValidationJobs::t, theHBHETopology_, tok_ddrec_, tok_geom_, tok_htopo_, tok_respcorr_, HLTConfigProvider::triggerName(), triggers_, verbosity_, and writeRespCorr_.

1012  {
1013  hdc_ = &iSetup.getData(tok_ddrec_);
1014  actHB.clear();
1015  actHE.clear();
1016  actHB = hdc_->getThickActive(0);
1017  actHE = hdc_->getThickActive(1);
1018 #ifdef EDM_ML_DEBUG
1019  unsigned int k1(0), k2(0);
1020  edm::LogVerbatim("HBHEMuon") << actHB.size() << " Active Length for HB";
1021  for (const auto& act : actHB) {
1022  edm::LogVerbatim("HBHEMuon") << "[" << k1 << "] ieta " << act.ieta << " depth " << act.depth << " zside "
1023  << act.zside << " type " << act.stype << " phi " << act.iphis.size() << ":"
1024  << act.iphis[0] << " L " << act.thick;
1025  HcalDetId hcid1(HcalBarrel, (act.ieta) * (act.zside), act.iphis[0], act.depth);
1026  HcalDetId hcid2 = mergedDepth_ ? hdc_->mergedDepthDetId(hcid1) : hcid1;
1027  edm::LogVerbatim("HBHEMuon") << hcid1 << " | " << hcid2 << " L "
1028  << activeLength(DetId(hcid2), ((verbosity_ / 100000) % 10));
1029  ++k1;
1030  }
1031  edm::LogVerbatim("HBHEMuon") << actHE.size() << " Active Length for HE";
1032  for (const auto& act : actHE) {
1033  edm::LogVerbatim("HBHEMuon") << "[" << k2 << "] ieta " << act.ieta << " depth " << act.depth << " zside "
1034  << act.zside << " type " << act.stype << " phi " << act.iphis.size() << ":"
1035  << act.iphis[0] << " L " << act.thick;
1036  HcalDetId hcid1(HcalEndcap, (act.ieta) * (act.zside), act.iphis[0], act.depth);
1037  HcalDetId hcid2 = mergedDepth_ ? hdc_->mergedDepthDetId(hcid1) : hcid1;
1038  edm::LogVerbatim("HBHEMuon") << hcid1 << " | " << hcid2 << " L "
1039  << activeLength(DetId(hcid2), ((verbosity_ / 100000) % 10));
1040  ++k2;
1041  }
1042 #endif
1043 
1044  bool changed = true;
1045  all_triggers_.clear();
1046  if (hltConfig_.init(iRun, iSetup, "HLT", changed)) {
1047  // if init returns TRUE, initialisation has succeeded!
1048 #ifdef EDM_ML_DEBUG
1049  edm::LogVerbatim("HBHEMuon") << "HLT config with process name HLT successfully extracted";
1050 #endif
1051  unsigned int ntriggers = hltConfig_.size();
1052  for (unsigned int t = 0; t < ntriggers; ++t) {
1053  std::string hltname(hltConfig_.triggerName(t));
1054  for (unsigned int ik = 0; ik < triggers_.size(); ++ik) {
1055  if (hltname.find(triggers_[ik]) != std::string::npos) {
1056  all_triggers_.push_back(hltname);
1057  break;
1058  }
1059  }
1060  } //loop over ntriggers
1061  edm::LogVerbatim("HBHEMuon") << "All triggers size in begin run " << all_triggers_.size();
1062  } else {
1063  edm::LogError("HBHEMuon") << "Error! HLT config extraction with process name HLT failed";
1064  }
1065 
1066  theHBHETopology_ = &iSetup.getData(tok_htopo_);
1067  const HcalRespCorrs* resp = &iSetup.getData(tok_respcorr_);
1068  respCorrs_ = new HcalRespCorrs(*resp);
1070  geo_ = &iSetup.getData(tok_geom_);
1071 
1072  // Write correction factors for all HB/HE events
1073  if (writeRespCorr_) {
1074  const HcalGeometry* gHcal = static_cast<const HcalGeometry*>(geo_->getSubdetectorGeometry(DetId::Hcal, HcalBarrel));
1075  const std::vector<DetId>& ids = gHcal->getValidDetIds(DetId::Hcal, 0);
1076  edm::LogVerbatim("HBHEMuon") << "\nTable of Correction Factors for Run " << iRun.run() << "\n";
1077  for (auto const& id : ids) {
1078  if ((id.det() == DetId::Hcal) && ((id.subdetId() == HcalBarrel) || (id.subdetId() == HcalEndcap))) {
1079  edm::LogVerbatim("HBHEMuon") << HcalDetId(id) << " " << id.rawId() << " "
1080  << (respCorrs_->getValues(id))->getValue();
1081  }
1082  }
1083  }
1084 }
Log< level::Info, true > LogVerbatim
const std::string & triggerName(unsigned int triggerIndex) const
const HcalTopology * theHBHETopology_
std::vector< std::string > all_triggers_
const edm::ESGetToken< HcalRespCorrs, HcalRespCorrsRcd > tok_respcorr_
const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const override
Get a list of valid detector ids (for the given subdetector)
Definition: HcalGeometry.cc:76
HcalDetId mergedDepthDetId(const HcalDetId &id) const
const edm::ESGetToken< HcalTopology, HcalRecNumberingRecord > tok_htopo_
std::vector< HcalDDDRecConstants::HcalActiveLength > actHE
Log< level::Error, false > LogError
const Item * getValues(DetId fId, bool throwOnFail=true) const
double activeLength(const DetId &, bool)
unsigned int size() const
number of trigger paths in trigger table
const CaloGeometry * geo_
Definition: DetId.h:17
std::vector< HcalDDDRecConstants::HcalActiveLength > actHB
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > tok_geom_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
const HcalDDDRecConstants * hdc_
HLTConfigProvider hltConfig_
std::vector< HcalActiveLength > getThickActive(const int &type) const
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
const edm::ESGetToken< HcalDDDRecConstants, HcalRecNumberingRecord > tok_ddrec_
void setTopo(const HcalTopology *topo)
const std::vector< std::string > triggers_

◆ clearVectors()

void HcalHBHEMuonAnalyzer::clearVectors ( )
private

clearing vectots

Definition at line 1115 of file HcalHBHEMuonAnalyzer.cc.

References bxNumber_, chiGlobal_, chiTracker_, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, ecalEnergy_, ehcalDetId_, energyMuon_, etaGlob_, eventNumber_, globalMuonHits_, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, goodVertex_, hcal1x1Energy_, hcal_ieta_, hcal_iphi_, hcalActiveLength_, hcalActiveLengthHot_, hcalDepthActiveLength_, hcalDepthActiveLengthHot_, hcalDepthChargeHot_, hcalDepthChargeHotBG_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, hcalDepthMatch_, hcalDepthMatchHot_, hcalDetId_, hcalEnergy_, hcalHot_, hltresults_, hoEnergy_, mps_fire::i, innerTrack_, innerTracketa_, innerTrackphi_, innerTrackpt_, isolationR03_, isolationR04_, lumiNumber_, matchedId_, matchedStat_, maxDepth_, muon_chi2LocalPosition_, muon_global_, muon_is_good_, muon_is_medium_, muon_is_tight_, muon_segComp_, muon_tracker_, muon_trkKink_, numPixelLayers_, outerTrack_, outerTrackChi_, outerTrackEta_, outerTrackHits_, outerTrackPhi_, outerTrackPt_, outerTrackRHits_, phiGlob_, pMuon_, ptGlob_, runNumber_, tight_LongPara_, tight_PixelHits_, tight_TransImpara_, tight_validFraction_, and trackerLayer_.

Referenced by analyze().

1115  {
1117  eventNumber_ = -99999;
1118  runNumber_ = -99999;
1119  lumiNumber_ = -99999;
1120  bxNumber_ = -99999;
1121  goodVertex_ = -99999;
1122 
1123  muon_is_good_ = false;
1124  muon_global_ = false;
1125  muon_tracker_ = false;
1126  ptGlob_ = 0;
1127  etaGlob_ = 0;
1128  phiGlob_ = 0;
1129  energyMuon_ = 0;
1130  pMuon_ = 0;
1131  muon_trkKink_ = 0;
1133  muon_segComp_ = 0;
1134  muon_is_tight_ = false;
1135  muon_is_medium_ = false;
1136 
1137  trackerLayer_ = 0;
1138  numPixelLayers_ = 0;
1139  tight_PixelHits_ = 0;
1140  innerTrack_ = false;
1141  chiTracker_ = 0;
1142  dxyTracker_ = 0;
1143  dzTracker_ = 0;
1144  innerTrackpt_ = 0;
1145  innerTracketa_ = 0;
1146  innerTrackphi_ = 0;
1148 
1149  outerTrack_ = false;
1150  outerTrackPt_ = 0;
1151  outerTrackEta_ = 0;
1152  outerTrackPhi_ = 0;
1153  outerTrackHits_ = 0;
1154  outerTrackRHits_ = 0;
1155  outerTrackChi_ = 0;
1156 
1157  globalTrack_ = false;
1158  globalTrckPt_ = 0;
1159  globalTrckEta_ = 0;
1160  globalTrckPhi_ = 0;
1161  globalMuonHits_ = 0;
1162  matchedStat_ = 0;
1163  chiGlobal_ = 0;
1164  tight_LongPara_ = 0;
1165  tight_TransImpara_ = 0;
1166 
1167  isolationR04_ = 0;
1168  isolationR03_ = 0;
1169  ecalEnergy_ = 0;
1170  hcalEnergy_ = 0;
1171  hoEnergy_ = 0;
1172  matchedId_ = false;
1173  hcalHot_ = false;
1174  ecal3x3Energy_ = 0;
1175  hcal1x1Energy_ = 0;
1176  ecalDetId_ = 0;
1177  hcalDetId_ = 0;
1178  ehcalDetId_ = 0;
1179  hcal_ieta_ = 0;
1180  hcal_iphi_ = 0;
1181  for (int i = 0; i < maxDepth_; ++i) {
1182  hcalDepthEnergy_[i] = 0;
1184  hcalDepthEnergyHot_[i] = 0;
1186  hcalDepthChargeHot_[i] = 0;
1187  hcalDepthChargeHotBG_[i] = 0;
1188  hcalDepthEnergyCorr_[i] = 0;
1190  hcalDepthMatch_[i] = false;
1191  hcalDepthMatchHot_[i] = false;
1192  }
1193  hcalActiveLength_ = 0;
1195  hltresults_.clear();
1196 }
std::vector< int > hltresults_
double hcalDepthEnergyHot_[depthMax_]
double hcalDepthChargeHot_[depthMax_]
double hcalDepthActiveLengthHot_[depthMax_]
double hcalDepthEnergyCorr_[depthMax_]
double hcalDepthActiveLength_[depthMax_]
double hcalDepthEnergyHotCorr_[depthMax_]
bool hcalDepthMatchHot_[depthMax_]
double hcalDepthChargeHotBG_[depthMax_]
double hcalDepthEnergy_[depthMax_]
bool hcalDepthMatch_[depthMax_]

◆ depth16HE()

int HcalHBHEMuonAnalyzer::depth16HE ( int  ieta,
int  iphi 
)
private

Definition at line 1298 of file HcalHBHEMuonAnalyzer.cc.

References HcalTopology::dddConstants(), hcalRecHitTable_cff::depth, HcalDDDRecConstants::getMinDepth(), hcalRecHitTable_cff::ieta, hcalRecHitTable_cff::iphi, isItPlan1_, isItPreRecHit_, theHBHETopology_, and ecaldqm::zside().

Referenced by analyze().

1298  {
1299  // Transition between HB/HE is special
1300  // For Run 1 or for Plan1 standard reconstruction it is 3
1301  // For runs beyond 2018 or in Plan1 for HEP17 it is 4
1302  int zside = (ieta > 0) ? 1 : -1;
1304  if (isItPlan1_ && (!isItPreRecHit_))
1305  depth = 3;
1306 #ifdef EDM_ML_DEBUG
1307  edm::LogVerbatim("HBHEMuon") << "Plan1 " << isItPlan1_ << " PreRecHit " << isItPreRecHit_ << " phi " << iphi
1308  << " depth " << depth;
1309 #endif
1310  return depth;
1311 }
int getMinDepth(const int &itype, const int &ieta, const int &iphi, const int &zside) const
Log< level::Info, true > LogVerbatim
const HcalTopology * theHBHETopology_
int zside(DetId const &)
const HcalDDDRecConstants * dddConstants() const
Definition: HcalTopology.h:161

◆ endRun()

void HcalHBHEMuonAnalyzer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 80 of file HcalHBHEMuonAnalyzer.cc.

80 {}

◆ fillDescriptions()

void HcalHBHEMuonAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 1087 of file HcalHBHEMuonAnalyzer.cc.

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, AlCaHLTBitMon_QueryRunRegistry::string, and ClusterTask_cfi::trig.

1087  {
1089  desc.add<edm::InputTag>("hlTriggerResults", edm::InputTag("TriggerResults", "", "HLT"));
1090  desc.add<edm::InputTag>("labelEBRecHit", edm::InputTag("ecalRecHit", "EcalRecHitsEB"));
1091  desc.add<edm::InputTag>("labelEERecHit", edm::InputTag("ecalRecHit", "EcalRecHitsEE"));
1092  desc.add<edm::InputTag>("labelHBHERecHit", edm::InputTag("hbhereco"));
1093  desc.add<std::string>("labelVertex", "offlinePrimaryVertices");
1094  desc.add<std::string>("labelMuon", "muons");
1095  std::vector<std::string> trig = {};
1096  desc.add<std::vector<std::string>>("triggers", trig);
1097  desc.add<double>("pMinMuon", 5.0);
1098  desc.addUntracked<int>("verbosity", 0);
1099  desc.add<int>("useRaw", 0);
1100  desc.add<bool>("unCorrect", true);
1101  desc.add<bool>("getCharge", true);
1102  desc.add<bool>("collapseDepth", false);
1103  desc.add<bool>("isItPlan1", false);
1104  desc.addUntracked<bool>("ignoreHECorr", false);
1105  desc.addUntracked<bool>("isItPreRecHit", false);
1106  desc.addUntracked<std::string>("moduleName", "");
1107  desc.addUntracked<std::string>("processName", "");
1108  desc.addUntracked<int>("maxDepth", 7);
1109  desc.addUntracked<std::string>("fileInCorr", "");
1110  desc.addUntracked<bool>("writeRespCorr", false);
1111  desc.add<bool>("usePFThreshold", true);
1112  descriptions.add("hcalHBHEMuon", desc);
1113 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ gainFactor()

double HcalHBHEMuonAnalyzer::gainFactor ( const HcalDbService dbserv,
const HcalDetId id 
)
private

Definition at line 1290 of file HcalHBHEMuonAnalyzer.cc.

References submitPVValidationJobs::conditions, PedestalClient_cfi::gain, and HcalCalibrations::respcorrgain().

Referenced by analyze().

1290  {
1291  double gain(0.0);
1292  const HcalCalibrations& calibs = conditions->getHcalCalibrations(id);
1293  for (int capid = 0; capid < 4; ++capid)
1294  gain += (0.25 * calibs.respcorrgain(capid));
1295  return gain;
1296 }
constexpr double respcorrgain(int fCapId) const
get response corrected gain for capid=0..3

◆ goodCell()

bool HcalHBHEMuonAnalyzer::goodCell ( const HcalDetId hcid,
const reco::Track pTrack,
const CaloGeometry geo,
const MagneticField bField 
)
private

Definition at line 1313 of file HcalHBHEMuonAnalyzer.cc.

References Calorimetry_cff::bField, HcalDDDRecConstants::getRZ(), HcalEndcap, hdc_, match(), spr::propagateHCAL(), HcalDetId::subdet(), and verbosity_.

Referenced by analyze().

1316  {
1317  std::pair<double, double> rz = hdc_->getRZ(hcid);
1318  bool typeRZ = (hcid.subdet() == HcalEndcap) ? false : true;
1319  bool match = spr::propagateHCAL(pTrack, geo, bField, typeRZ, rz, (((verbosity_ / 10000) % 10) > 0));
1320  return match;
1321 }
double getRZ(const int &subdet, const int &ieta, const int &depth) const
std::pair< math::XYZPoint, bool > propagateHCAL(const reco::Track *, const MagneticField *, bool debug=false)
constexpr HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:138
const HcalDDDRecConstants * hdc_
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

◆ isGoodVertex()

bool HcalHBHEMuonAnalyzer::isGoodVertex ( const reco::Vertex vtx)
private

Definition at line 1266 of file HcalHBHEMuonAnalyzer.cc.

References L1BJetProducer_cff::vtx.

Referenced by analyze().

1266  {
1267  if (vtx.isFake())
1268  return false;
1269  if (vtx.ndof() < 4)
1270  return false;
1271  if (vtx.position().Rho() > 2.)
1272  return false;
1273  if (fabs(vtx.position().Z()) > 24.)
1274  return false;
1275  return true;
1276 }

◆ matchId()

int HcalHBHEMuonAnalyzer::matchId ( const HcalDetId id1,
const HcalDetId id2 
)
private

Definition at line 1198 of file HcalHBHEMuonAnalyzer.cc.

References globals_cff::id1, globals_cff::id2, and match().

Referenced by analyze().

1198  {
1199  HcalDetId kd1(id1.subdet(), id1.ieta(), id1.iphi(), 1);
1200  HcalDetId kd2(id1.subdet(), id2.ieta(), id2.iphi(), 1);
1201  int match = ((kd1 == kd2) ? 1 : 0);
1202  return match;
1203 }
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

◆ respCorr()

double HcalHBHEMuonAnalyzer::respCorr ( const DetId id)
private

Definition at line 1278 of file HcalHBHEMuonAnalyzer.cc.

References corrValue_, reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), respCorrs_, and useMyCorr_.

Referenced by analyze().

1278  {
1279  double cfac(1.0);
1280  if (useMyCorr_) {
1281  auto itr = corrValue_.find(id);
1282  if (itr != corrValue_.end())
1283  cfac = itr->second;
1284  } else if (respCorrs_ != nullptr) {
1285  cfac = (respCorrs_->getValues(id))->getValue();
1286  }
1287  return cfac;
1288 }
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::map< DetId, double > corrValue_
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found

Member Data Documentation

◆ actHB

std::vector<HcalDDDRecConstants::HcalActiveLength> HcalHBHEMuonAnalyzer::actHB
private

Definition at line 170 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), and beginRun().

◆ actHE

std::vector<HcalDDDRecConstants::HcalActiveLength> HcalHBHEMuonAnalyzer::actHE
private

Definition at line 170 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), and beginRun().

◆ all_triggers_

std::vector<std::string> HcalHBHEMuonAnalyzer::all_triggers_
private

Definition at line 167 of file HcalHBHEMuonAnalyzer.cc.

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

◆ bxNumber_

unsigned int HcalHBHEMuonAnalyzer::bxNumber_
private

Definition at line 134 of file HcalHBHEMuonAnalyzer.cc.

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

◆ chiGlobal_

double HcalHBHEMuonAnalyzer::chiGlobal_
private

Definition at line 149 of file HcalHBHEMuonAnalyzer.cc.

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

◆ chiTracker_

double HcalHBHEMuonAnalyzer::chiTracker_
private

Definition at line 142 of file HcalHBHEMuonAnalyzer.cc.

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

◆ collapseDepth_

const bool HcalHBHEMuonAnalyzer::collapseDepth_
private

Definition at line 98 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ corrValue_

std::map<DetId, double> HcalHBHEMuonAnalyzer::corrValue_
private

Definition at line 171 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer(), and respCorr().

◆ depthMax_

const int HcalHBHEMuonAnalyzer::depthMax_ = 7
staticprivate

Definition at line 132 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ dxyTracker_

double HcalHBHEMuonAnalyzer::dxyTracker_
private

Definition at line 142 of file HcalHBHEMuonAnalyzer.cc.

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

◆ dzTracker_

double HcalHBHEMuonAnalyzer::dzTracker_
private

Definition at line 142 of file HcalHBHEMuonAnalyzer.cc.

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

◆ ecal3x3Energy_

double HcalHBHEMuonAnalyzer::ecal3x3Energy_
private

Definition at line 153 of file HcalHBHEMuonAnalyzer.cc.

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

◆ ecalDetId_

unsigned int HcalHBHEMuonAnalyzer::ecalDetId_
private

Definition at line 154 of file HcalHBHEMuonAnalyzer.cc.

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

◆ ecalEnergy_

double HcalHBHEMuonAnalyzer::ecalEnergy_
private

Definition at line 151 of file HcalHBHEMuonAnalyzer.cc.

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

◆ ehcalDetId_

unsigned int HcalHBHEMuonAnalyzer::ehcalDetId_
private

Definition at line 154 of file HcalHBHEMuonAnalyzer.cc.

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

◆ energyMuon_

double HcalHBHEMuonAnalyzer::energyMuon_
private

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

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

◆ etaGlob_

double HcalHBHEMuonAnalyzer::etaGlob_
private

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

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

◆ eventNumber_

unsigned int HcalHBHEMuonAnalyzer::eventNumber_
private

Definition at line 134 of file HcalHBHEMuonAnalyzer.cc.

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

◆ fileInCorr_

const std::string HcalHBHEMuonAnalyzer::fileInCorr_
private

Definition at line 94 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ geo_

const CaloGeometry* HcalHBHEMuonAnalyzer::geo_
private

Definition at line 125 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and beginRun().

◆ getCharge_

const bool HcalHBHEMuonAnalyzer::getCharge_
private

Definition at line 100 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ globalMuonHits_

int HcalHBHEMuonAnalyzer::globalMuonHits_
private

Definition at line 148 of file HcalHBHEMuonAnalyzer.cc.

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

◆ globalTrack_

bool HcalHBHEMuonAnalyzer::globalTrack_
private

Definition at line 141 of file HcalHBHEMuonAnalyzer.cc.

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

◆ globalTrckEta_

double HcalHBHEMuonAnalyzer::globalTrckEta_
private

Definition at line 147 of file HcalHBHEMuonAnalyzer.cc.

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

◆ globalTrckPhi_

double HcalHBHEMuonAnalyzer::globalTrckPhi_
private

Definition at line 147 of file HcalHBHEMuonAnalyzer.cc.

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

◆ globalTrckPt_

double HcalHBHEMuonAnalyzer::globalTrckPt_
private

Definition at line 147 of file HcalHBHEMuonAnalyzer.cc.

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

◆ goodVertex_

unsigned int HcalHBHEMuonAnalyzer::goodVertex_
private

Definition at line 135 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcal1x1Energy_

double HcalHBHEMuonAnalyzer::hcal1x1Energy_
private

Definition at line 153 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcal_ieta_

int HcalHBHEMuonAnalyzer::hcal_ieta_
private

Definition at line 155 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcal_iphi_

int HcalHBHEMuonAnalyzer::hcal_iphi_
private

Definition at line 155 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalActiveLength_

double HcalHBHEMuonAnalyzer::hcalActiveLength_
private

Definition at line 166 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalActiveLengthHot_

double HcalHBHEMuonAnalyzer::hcalActiveLengthHot_
private

Definition at line 166 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthActiveLength_

double HcalHBHEMuonAnalyzer::hcalDepthActiveLength_[depthMax_]
private

Definition at line 157 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthActiveLengthHot_

double HcalHBHEMuonAnalyzer::hcalDepthActiveLengthHot_[depthMax_]
private

Definition at line 159 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthChargeHot_

double HcalHBHEMuonAnalyzer::hcalDepthChargeHot_[depthMax_]
private

Definition at line 160 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthChargeHotBG_

double HcalHBHEMuonAnalyzer::hcalDepthChargeHotBG_[depthMax_]
private

Definition at line 161 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthEnergy_

double HcalHBHEMuonAnalyzer::hcalDepthEnergy_[depthMax_]
private

Definition at line 156 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthEnergyCorr_

double HcalHBHEMuonAnalyzer::hcalDepthEnergyCorr_[depthMax_]
private

Definition at line 162 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthEnergyHot_

double HcalHBHEMuonAnalyzer::hcalDepthEnergyHot_[depthMax_]
private

Definition at line 158 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthEnergyHotCorr_

double HcalHBHEMuonAnalyzer::hcalDepthEnergyHotCorr_[depthMax_]
private

Definition at line 163 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthMatch_

bool HcalHBHEMuonAnalyzer::hcalDepthMatch_[depthMax_]
private

Definition at line 164 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDepthMatchHot_

bool HcalHBHEMuonAnalyzer::hcalDepthMatchHot_[depthMax_]
private

Definition at line 165 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalDetId_

unsigned int HcalHBHEMuonAnalyzer::hcalDetId_
private

Definition at line 154 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalEnergy_

double HcalHBHEMuonAnalyzer::hcalEnergy_
private

Definition at line 151 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hcalHot_

bool HcalHBHEMuonAnalyzer::hcalHot_
private

Definition at line 152 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hdc_

const HcalDDDRecConstants* HcalHBHEMuonAnalyzer::hdc_
private

Definition at line 123 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), analyze(), beginRun(), and goodCell().

◆ hltConfig_

HLTConfigProvider HcalHBHEMuonAnalyzer::hltConfig_
private

Definition at line 91 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ hltresults_

std::vector<int> HcalHBHEMuonAnalyzer::hltresults_
private

Definition at line 168 of file HcalHBHEMuonAnalyzer.cc.

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

◆ hlTriggerResults_

const edm::InputTag HcalHBHEMuonAnalyzer::hlTriggerResults_
private

Definition at line 92 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ hoEnergy_

double HcalHBHEMuonAnalyzer::hoEnergy_
private

Definition at line 151 of file HcalHBHEMuonAnalyzer.cc.

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

◆ ignoreHECorr_

const bool HcalHBHEMuonAnalyzer::ignoreHECorr_
private

Definition at line 99 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ innerTrack_

bool HcalHBHEMuonAnalyzer::innerTrack_
private

Definition at line 141 of file HcalHBHEMuonAnalyzer.cc.

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

◆ innerTracketa_

double HcalHBHEMuonAnalyzer::innerTracketa_
private

Definition at line 143 of file HcalHBHEMuonAnalyzer.cc.

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

◆ innerTrackphi_

double HcalHBHEMuonAnalyzer::innerTrackphi_
private

Definition at line 143 of file HcalHBHEMuonAnalyzer.cc.

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

◆ innerTrackpt_

double HcalHBHEMuonAnalyzer::innerTrackpt_
private

Definition at line 143 of file HcalHBHEMuonAnalyzer.cc.

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

◆ isItPlan1_

const bool HcalHBHEMuonAnalyzer::isItPlan1_
private

Definition at line 98 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), depth16HE(), and HcalHBHEMuonAnalyzer().

◆ isItPreRecHit_

const bool HcalHBHEMuonAnalyzer::isItPreRecHit_
private

Definition at line 99 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), depth16HE(), and HcalHBHEMuonAnalyzer().

◆ isolationR03_

double HcalHBHEMuonAnalyzer::isolationR03_
private

Definition at line 150 of file HcalHBHEMuonAnalyzer.cc.

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

◆ isolationR04_

double HcalHBHEMuonAnalyzer::isolationR04_
private

Definition at line 150 of file HcalHBHEMuonAnalyzer.cc.

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

◆ kount_

int HcalHBHEMuonAnalyzer::kount_
private

Definition at line 129 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ labelEBRecHit_

const edm::InputTag HcalHBHEMuonAnalyzer::labelEBRecHit_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ labelEERecHit_

const edm::InputTag HcalHBHEMuonAnalyzer::labelEERecHit_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ labelHBHERecHit_

const edm::InputTag HcalHBHEMuonAnalyzer::labelHBHERecHit_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ labelMuon_

const std::string HcalHBHEMuonAnalyzer::labelMuon_
private

Definition at line 94 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ labelVtx_

const std::string HcalHBHEMuonAnalyzer::labelVtx_
private

Definition at line 94 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ lumiNumber_

unsigned int HcalHBHEMuonAnalyzer::lumiNumber_
private

Definition at line 134 of file HcalHBHEMuonAnalyzer.cc.

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

◆ matchedId_

bool HcalHBHEMuonAnalyzer::matchedId_
private

Definition at line 152 of file HcalHBHEMuonAnalyzer.cc.

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

◆ matchedStat_

int HcalHBHEMuonAnalyzer::matchedStat_
private

Definition at line 148 of file HcalHBHEMuonAnalyzer.cc.

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

◆ maxDepth_

const int HcalHBHEMuonAnalyzer::maxDepth_
private

Definition at line 101 of file HcalHBHEMuonAnalyzer.cc.

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

◆ mergedDepth_

bool HcalHBHEMuonAnalyzer::mergedDepth_
private

Definition at line 128 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), beginRun(), and HcalHBHEMuonAnalyzer().

◆ modnam_

const std::string HcalHBHEMuonAnalyzer::modnam_
private

Definition at line 102 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ muon_chi2LocalPosition_

float HcalHBHEMuonAnalyzer::muon_chi2LocalPosition_
private

Definition at line 139 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_global_

bool HcalHBHEMuonAnalyzer::muon_global_
private

Definition at line 136 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_is_good_

bool HcalHBHEMuonAnalyzer::muon_is_good_
private

Definition at line 136 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_is_medium_

bool HcalHBHEMuonAnalyzer::muon_is_medium_
private

Definition at line 137 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_is_tight_

bool HcalHBHEMuonAnalyzer::muon_is_tight_
private

Definition at line 137 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_segComp_

float HcalHBHEMuonAnalyzer::muon_segComp_
private

Definition at line 139 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_tracker_

bool HcalHBHEMuonAnalyzer::muon_tracker_
private

Definition at line 136 of file HcalHBHEMuonAnalyzer.cc.

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

◆ muon_trkKink_

float HcalHBHEMuonAnalyzer::muon_trkKink_
private

Definition at line 139 of file HcalHBHEMuonAnalyzer.cc.

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

◆ numPixelLayers_

int HcalHBHEMuonAnalyzer::numPixelLayers_
private

Definition at line 140 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrack_

bool HcalHBHEMuonAnalyzer::outerTrack_
private

Definition at line 141 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackChi_

double HcalHBHEMuonAnalyzer::outerTrackChi_
private

Definition at line 144 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackEta_

double HcalHBHEMuonAnalyzer::outerTrackEta_
private

Definition at line 145 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackHits_

int HcalHBHEMuonAnalyzer::outerTrackHits_
private

Definition at line 146 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackPhi_

double HcalHBHEMuonAnalyzer::outerTrackPhi_
private

Definition at line 145 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackPt_

double HcalHBHEMuonAnalyzer::outerTrackPt_
private

Definition at line 145 of file HcalHBHEMuonAnalyzer.cc.

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

◆ outerTrackRHits_

int HcalHBHEMuonAnalyzer::outerTrackRHits_
private

Definition at line 146 of file HcalHBHEMuonAnalyzer.cc.

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

◆ phiGlob_

double HcalHBHEMuonAnalyzer::phiGlob_
private

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

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

◆ pMinMuon_

const double HcalHBHEMuonAnalyzer::pMinMuon_
private

Definition at line 96 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ pMuon_

double HcalHBHEMuonAnalyzer::pMuon_
private

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

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

◆ procnm_

const std::string HcalHBHEMuonAnalyzer::procnm_
private

Definition at line 102 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

◆ ptGlob_

double HcalHBHEMuonAnalyzer::ptGlob_
private

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

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

◆ respCorrs_

HcalRespCorrs* HcalHBHEMuonAnalyzer::respCorrs_
private

Definition at line 126 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun(), and respCorr().

◆ runNumber_

unsigned int HcalHBHEMuonAnalyzer::runNumber_
private

Definition at line 134 of file HcalHBHEMuonAnalyzer.cc.

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

◆ theHBHETopology_

const HcalTopology* HcalHBHEMuonAnalyzer::theHBHETopology_
private

Definition at line 124 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tight_LongPara_

double HcalHBHEMuonAnalyzer::tight_LongPara_
private

Definition at line 149 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tight_PixelHits_

int HcalHBHEMuonAnalyzer::tight_PixelHits_
private

Definition at line 140 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tight_TransImpara_

double HcalHBHEMuonAnalyzer::tight_TransImpara_
private

Definition at line 149 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tight_validFraction_

double HcalHBHEMuonAnalyzer::tight_validFraction_
private

Definition at line 144 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tok_chan_

const edm::ESGetToken<EcalChannelStatus, EcalChannelStatusRcd> HcalHBHEMuonAnalyzer::tok_chan_
private

Definition at line 117 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_dbservice_

const edm::ESGetToken<HcalDbService, HcalDbRecord> HcalHBHEMuonAnalyzer::tok_dbservice_
private

Definition at line 120 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_ddrec_

const edm::ESGetToken<HcalDDDRecConstants, HcalRecNumberingRecord> HcalHBHEMuonAnalyzer::tok_ddrec_
private

Definition at line 112 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ tok_EB_

const edm::EDGetTokenT<EcalRecHitCollection> HcalHBHEMuonAnalyzer::tok_EB_
private

Definition at line 107 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_ecalPFRecHitThresholds_

const edm::ESGetToken<EcalPFRecHitThresholds, EcalPFRecHitThresholdsRcd> HcalHBHEMuonAnalyzer::tok_ecalPFRecHitThresholds_
private

Definition at line 121 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_EE_

const edm::EDGetTokenT<EcalRecHitCollection> HcalHBHEMuonAnalyzer::tok_EE_
private

Definition at line 108 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_geom_

const edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HcalHBHEMuonAnalyzer::tok_geom_
private

Definition at line 115 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ tok_HBHE_

const edm::EDGetTokenT<HBHERecHitCollection> HcalHBHEMuonAnalyzer::tok_HBHE_
private

Definition at line 109 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_htopo_

const edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> HcalHBHEMuonAnalyzer::tok_htopo_
private

Definition at line 113 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ tok_magField_

const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> HcalHBHEMuonAnalyzer::tok_magField_
private

Definition at line 116 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_Muon_

const edm::EDGetTokenT<reco::MuonCollection> HcalHBHEMuonAnalyzer::tok_Muon_
private

Definition at line 110 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_respcorr_

const edm::ESGetToken<HcalRespCorrs, HcalRespCorrsRcd> HcalHBHEMuonAnalyzer::tok_respcorr_
private

Definition at line 114 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ tok_sevlv_

const edm::ESGetToken<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd> HcalHBHEMuonAnalyzer::tok_sevlv_
private

Definition at line 118 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_topo_

const edm::ESGetToken<CaloTopology, CaloTopologyRecord> HcalHBHEMuonAnalyzer::tok_topo_
private

Definition at line 119 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_trigRes_

const edm::EDGetTokenT<edm::TriggerResults> HcalHBHEMuonAnalyzer::tok_trigRes_
private

Definition at line 105 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ tok_Vtx_

const edm::EDGetTokenT<reco::VertexCollection> HcalHBHEMuonAnalyzer::tok_Vtx_
private

Definition at line 106 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze().

◆ trackerLayer_

int HcalHBHEMuonAnalyzer::trackerLayer_
private

Definition at line 140 of file HcalHBHEMuonAnalyzer.cc.

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

◆ tree_

TTree* HcalHBHEMuonAnalyzer::tree_
private

Definition at line 133 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ triggers_

const std::vector<std::string> HcalHBHEMuonAnalyzer::triggers_
private

Definition at line 95 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

◆ unCorrect_

const bool HcalHBHEMuonAnalyzer::unCorrect_
private

Definition at line 98 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ useMyCorr_

bool HcalHBHEMuonAnalyzer::useMyCorr_
private

Definition at line 128 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer(), and respCorr().

◆ usePFThresh_

const bool HcalHBHEMuonAnalyzer::usePFThresh_
private

Definition at line 103 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ useRaw_

const int HcalHBHEMuonAnalyzer::useRaw_
private

Definition at line 97 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

◆ verbosity_

const int HcalHBHEMuonAnalyzer::verbosity_
private

Definition at line 97 of file HcalHBHEMuonAnalyzer.cc.

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

◆ writeRespCorr_

const bool HcalHBHEMuonAnalyzer::writeRespCorr_
private

Definition at line 100 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().