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
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- 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
 
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::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
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 &)
 
void analyze (edm::Event const &, edm::EventSetup const &) override
 
void beginJob () override
 
virtual void beginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void clearVectors ()
 
virtual void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
bool isGoodVertex (const reco::Vertex &vtx)
 
int matchId (const HcalDetId &, const HcalDetId &)
 

Private Attributes

std::vector< HcalDDDRecConstants::HcalActiveLengthactHB
 
std::vector< HcalDDDRecConstants::HcalActiveLengthactHE
 
std::vector< std::string > all_triggers
 
unsigned int bxNumber_
 
std::vector< double > chiGlobal_
 
std::vector< double > chiTracker_
 
bool collapseDepth_
 
std::vector< double > dxyTracker_
 
std::vector< double > dzTracker_
 
std::vector< double > ecal3x3Energy_
 
std::vector< unsigned int > ecalDetId_
 
std::vector< double > ecalEnergy_
 
std::vector< unsigned int > ehcalDetId_
 
std::vector< double > energyMuon_
 
std::vector< double > etaGlob_
 
unsigned int eventNumber_
 
edm::Service< TFileServicefs
 
std::vector< double > globalMuonHits_
 
std::vector< bool > globalTrack_
 
std::vector< double > globalTrckEta_
 
std::vector< double > globalTrckPhi_
 
std::vector< double > globalTrckPt_
 
std::vector< double > hcal1x1Energy_
 
std::vector< double > hcalActiveLength_
 
std::vector< double > hcalActiveLengthHot_
 
std::vector< double > hcalDepthActiveLength_ [depthMax_]
 
std::vector< double > hcalDepthActiveLengthHot_ [depthMax_]
 
std::vector< double > hcalDepthEnergy_ [depthMax_]
 
std::vector< double > hcalDepthEnergyCorr_ [depthMax_]
 
std::vector< double > hcalDepthEnergyHot_ [depthMax_]
 
std::vector< double > hcalDepthEnergyHotCorr_ [depthMax_]
 
std::vector< unsigned int > hcalDetId_
 
std::vector< double > hcalEnergy_
 
std::vector< double > hcalHot_
 
const HcalDDDRecConstantshdc
 
HLTConfigProvider hltConfig_
 
std::vector< int > hltresults
 
edm::InputTag HLTriggerResults_
 
std::vector< double > hoEnergy_
 
std::vector< bool > innerTrack_
 
std::vector< double > innerTracketa_
 
std::vector< double > innerTrackphi_
 
std::vector< double > innerTrackpt_
 
std::vector< double > isolationR03_
 
std::vector< double > isolationR04_
 
int kount_
 
std::string labelBS_
 
edm::InputTag labelEBRecHit_
 
edm::InputTag labelEERecHit_
 
edm::InputTag labelHBHERecHit_
 
std::string labelMuon_
 
std::string labelVtx_
 
unsigned int lumiNumber_
 
std::vector< double > matchedId_
 
std::vector< double > matchedStat_
 
int maxDepth_
 
std::vector< double > muon_chi2LocalPosition
 
std::vector< bool > muon_global_
 
std::vector< bool > muon_is_good_
 
std::vector< double > muon_segComp
 
std::vector< bool > muon_tracker_
 
std::vector< double > muon_trkKink
 
std::vector< double > numPixelLayers_
 
std::vector< bool > outerTrack_
 
std::vector< double > outerTrackChi_
 
std::vector< double > outerTrackEta_
 
std::vector< double > outerTrackHits_
 
std::vector< double > outerTrackPhi_
 
std::vector< double > outerTrackPt_
 
std::vector< double > outerTrackRHits_
 
std::vector< double > phiGlob_
 
std::vector< double > pMuon_
 
std::vector< double > ptGlob_
 
unsigned int runNumber_
 
bool saveCorrect_
 
std::vector< double > tight_LongPara_
 
std::vector< double > tight_PixelHits_
 
std::vector< double > tight_TransImpara_
 
std::vector< double > tight_validFraction_
 
edm::EDGetTokenT< reco::BeamSpottok_bs_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EB_
 
edm::EDGetTokenT< EcalRecHitCollectiontok_EE_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_HBHE_
 
edm::EDGetTokenT< reco::MuonCollectiontok_Muon_
 
edm::EDGetTokenT< edm::TriggerResultstok_trigRes_
 
edm::EDGetTokenT< reco::VertexCollectiontok_Vtx_
 
std::vector< double > trackerLayer_
 
TTree * tree_
 
std::vector< std::string > triggers_
 
bool unCorrect_
 
bool useRaw_
 
int verbosity_
 

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)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename 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)
 

Detailed Description

Definition at line 66 of file HcalHBHEMuonAnalyzer.cc.

Constructor & Destructor Documentation

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

Definition at line 138 of file HcalHBHEMuonAnalyzer.cc.

References collapseDepth_, depthMax_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HLTriggerResults_, kount_, TFileService::kSharedResource, labelBS_, labelEBRecHit_, labelEERecHit_, labelHBHERecHit_, labelMuon_, labelVtx_, maxDepth_, saveCorrect_, AlCaHLTBitMon_QueryRunRegistry::string, tok_bs_, tok_EB_, tok_EE_, tok_HBHE_, tok_Muon_, tok_trigRes_, tok_Vtx_, triggers_, unCorrect_, useRaw_, and verbosity_.

138  : hdc(nullptr) {
139 
140  usesResource(TFileService::kSharedResource);
141  //now do what ever initialization is needed
142  kount_ = 0;
143  HLTriggerResults_ = iConfig.getParameter<edm::InputTag>("HLTriggerResults");
144  labelBS_ = iConfig.getParameter<std::string>("LabelBeamSpot");
145  labelVtx_ = iConfig.getParameter<std::string>("LabelVertex");
146  labelEBRecHit_ = iConfig.getParameter<edm::InputTag>("LabelEBRecHit");
147  labelEERecHit_ = iConfig.getParameter<edm::InputTag>("LabelEERecHit");
148  labelHBHERecHit_ = iConfig.getParameter<edm::InputTag>("LabelHBHERecHit");
149  labelMuon_ = iConfig.getParameter<std::string>("LabelMuon");
150  triggers_ = iConfig.getParameter<std::vector<std::string>>("Triggers");
151  useRaw_ = iConfig.getParameter<bool>("UseRaw");
152  unCorrect_ = iConfig.getParameter<bool>("UnCorrect");
153  collapseDepth_ = iConfig.getParameter<bool>("CollapseDepth");
154  saveCorrect_ = iConfig.getParameter<bool>("SaveCorrect");
155  verbosity_ = iConfig.getUntrackedParameter<int>("Verbosity",0);
156  maxDepth_ = iConfig.getUntrackedParameter<int>("MaxDepth",4);
157  if (maxDepth_ > depthMax_) maxDepth_ = depthMax_;
158  else if (maxDepth_ < 1) maxDepth_ = 4;
159  std::string modnam = iConfig.getUntrackedParameter<std::string>("ModuleName","");
160  std::string procnm = iConfig.getUntrackedParameter<std::string>("ProcessName","");
161 
162  tok_trigRes_ = consumes<edm::TriggerResults>(HLTriggerResults_);
163  tok_bs_ = consumes<reco::BeamSpot>(labelBS_);
164  tok_EB_ = consumes<EcalRecHitCollection>(labelEBRecHit_);
165  tok_EE_ = consumes<EcalRecHitCollection>(labelEERecHit_);
166  tok_HBHE_ = consumes<HBHERecHitCollection>(labelHBHERecHit_);
167  if (modnam == "") {
168  tok_Vtx_ = consumes<reco::VertexCollection>(labelVtx_);
169  tok_Muon_ = consumes<reco::MuonCollection>(labelMuon_);
170  edm::LogVerbatim("HBHEMuon") << "Labels used " << HLTriggerResults_ << " "
171  << labelVtx_ << " " << labelEBRecHit_ << " "
172  << labelEERecHit_ << " " << labelHBHERecHit_
173  << " " << labelMuon_;
174  } else {
175  tok_Vtx_ = consumes<reco::VertexCollection>(edm::InputTag(modnam,labelVtx_,procnm));
176  tok_Muon_ = consumes<reco::MuonCollection>(edm::InputTag(modnam,labelMuon_,procnm));
177  edm::LogVerbatim("HBHEMuon") << "Labels used " << HLTriggerResults_
178  << "\n " << edm::InputTag(modnam,labelVtx_,procnm)
179  << "\n " << labelEBRecHit_
180  << "\n " << labelEERecHit_
181  << "\n " << labelHBHERecHit_
182  << "\n " << edm::InputTag(modnam,labelMuon_,procnm);
183  }
184 }
static const std::string kSharedResource
Definition: TFileService.h:76
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< std::string > triggers_
static const int depthMax_
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
edm::EDGetTokenT< reco::VertexCollection > tok_Vtx_
edm::EDGetTokenT< reco::MuonCollection > tok_Muon_
const HcalDDDRecConstants * hdc
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
edm::EDGetTokenT< HBHERecHitCollection > tok_HBHE_

Member Function Documentation

double HcalHBHEMuonAnalyzer::activeLength ( const DetId id_)
private

Definition at line 814 of file HcalHBHEMuonAnalyzer.cc.

References actHB, actHE, particleFlowClusterECALTimeSelected_cfi::depth, spr::find(), HcalBarrel, mps_fire::i, hcalTTPDigis_cfi::id, and HcalDigiParam_cfi::zside.

Referenced by analyze(), and endLuminosityBlock().

814  {
815  HcalDetId id(id_);
816  int ieta = id.ietaAbs();
817  int depth= id.depth();
818  int zside= id.zside();
819  int iphi = id.iphi();
820  double lx(0);
821  if (id.subdet() == HcalBarrel) {
822  for (unsigned int i=0; i<actHB.size(); ++i) {
823  if ((ieta == actHB[i].ieta) && (depth == actHB[i].depth) &&
824  (zside == actHB[i].zside) &&
825  (std::find(actHB[i].iphis.begin(),actHB[i].iphis.end(),iphi) !=
826  actHB[i].iphis.end())) {
827  lx = actHB[i].thick;
828  break;
829  }
830  }
831  } else {
832  for (unsigned int i=0; i<actHE.size(); ++i) {
833  if ((ieta == actHE[i].ieta) && (depth == actHE[i].depth) &&
834  (zside == actHE[i].zside) &&
835  (std::find(actHE[i].iphis.begin(),actHE[i].iphis.end(),iphi) !=
836  actHE[i].iphis.end())) {
837  lx = actHE[i].thick;
838  break;
839  }
840  }
841  }
842  return lx;
843 }
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:20
std::vector< HcalDDDRecConstants::HcalActiveLength > actHB
void HcalHBHEMuonAnalyzer::analyze ( edm::Event const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 191 of file HcalHBHEMuonAnalyzer.cc.

References funct::abs(), accept(), edm::HLTGlobalStatus::accept(), activeLength(), all_triggers, ecalTB2006H4_GenSimDigiReco_cfg::bField, edm::EventBase::bunchCrossing(), bxNumber_, trackerTree::check(), chiGlobal_, chiTracker_, clearVectors(), collapseDepth_, corr, particleFlowClusterECALTimeSelected_cfi::depth, HcalDetId::depth(), depthMax_, spr::propagatedTrackID::detIdECAL, spr::propagatedTrackID::detIdEHCAL, spr::propagatedTrackID::detIdHCAL, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, ecalEnergy_, spr::eECALmatrix(), ehcalDetId_, spr::eHCALmatrix(), spr::energyHCALCell(), energyMuon_, etaGlob_, edm::EventID::event(), eventNumber_, edm::EventSetup::get(), edm::Event::getByToken(), reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), globalMuonHits_, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, photonIsolationHIProducer_cfi::hbhe, hcal1x1Energy_, hcalActiveLength_, hcalActiveLengthHot_, HcalBarrel, hcalDepthActiveLength_, hcalDepthActiveLengthHot_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, hcalDetId_, HcalEndcap, hcalEnergy_, hcalHot_, hdc, hltresults, hoEnergy_, mps_fire::i, edm::EventBase::id(), HcalDetId::ieta(), diffTreeTool::index, info(), innerTrack_, innerTracketa_, innerTrackphi_, innerTrackpt_, createfilelist::int, HcalDetId::iphi(), isGoodVertex(), isolationR03_, isolationR04_, edm::HandleBase::isValid(), kount_, edm::EventID::luminosityBlock(), lumiNumber_, matchedId_, matchedStat_, matchId(), hpstanc_transforms::max, maxDepth_, HcalDDDRecConstants::mergedDepthDetId(), muon_chi2LocalPosition, muon_global_, muon_is_good_, muon_segComp, muon_tracker_, muon_trkKink, numPixelLayers_, spr::propagatedTrackID::okECAL, spr::propagatedTrackID::okHCAL, outerTrack_, outerTrackChi_, outerTrackEta_, outerTrackHits_, outerTrackPhi_, outerTrackPt_, outerTrackRHits_, phiGlob_, pMuon_, reco::BeamSpot::position(), edm::ESHandle< T >::product(), spr::propagateCALO(), spr::propagateHCALBack(), EnergyCorrector::pt, ptGlob_, DetId::rawId(), edm::EventID::run(), runNumber_, edm::second(), muon::segmentCompatibility(), HcalCondObjectContainerBase::setTopo(), edm::HLTGlobalStatus::size(), HcalDetId::subdet(), tight_LongPara_, tight_PixelHits_, tight_TransImpara_, tight_validFraction_, tok_bs_, tok_EB_, tok_EE_, tok_HBHE_, tok_Muon_, tok_trigRes_, tok_Vtx_, trackerLayer_, tree_, edm::TriggerNames::triggerIndex(), edm::Event::triggerNames(), unCorrect_, useRaw_, verbosity_, and badGlobalMuonTaggersAOD_cff::vtx.

191  {
192  ++kount_;
193  clearVectors();
194  // depthHE is the first depth index for HE for |ieta| = 16
195  // It used to be 3 for all runs preceding 2017 and 4 beyond that
196  int depthHE = (maxDepth_ <= 6) ? 3 : 4;
197  runNumber_ = iEvent.id().run();
198  eventNumber_ = iEvent.id().event();
199  lumiNumber_ = iEvent.id().luminosityBlock();
200  bxNumber_ = iEvent.bunchCrossing();
201 #ifdef EDM_ML_DEBUG
202  edm::LogVerbatim("HBHEMuon") << "Run " << runNumber_ << " Event "
203  << eventNumber_ << " Lumi " << lumiNumber_
204  << " BX " << bxNumber_ << std::endl;
205 #endif
207  iEvent.getByToken(tok_trigRes_, _Triggers);
208 #ifdef EDM_ML_DEBUG
209  if ((verbosity_/10000)%10>0)
210  edm::LogVerbatim("HBHEMuon") << "Size of all triggers "
211  << all_triggers.size() << std::endl;
212 #endif
213  int Ntriggers = all_triggers.size();
214 #ifdef EDM_ML_DEBUG
215  if ((verbosity_/10000)%10>0)
216  edm::LogVerbatim("HBHEMuon") << "Size of HLT MENU: " << _Triggers->size()
217  << std::endl;
218 #endif
219  if (_Triggers.isValid()) {
220  const edm::TriggerNames &triggerNames_ = iEvent.triggerNames(*_Triggers);
221  std::vector<int> index;
222  for (int i=0; i<Ntriggers; i++) {
223  index.push_back(triggerNames_.triggerIndex(all_triggers[i]));
224  int triggerSize = int( _Triggers->size());
225 #ifdef EDM_ML_DEBUG
226  if ((verbosity_/10000)%10>0)
227  edm::LogVerbatim("HBHEMuon") << "outside loop " << index[i]
228  << "\ntriggerSize " << triggerSize
229  << std::endl;
230 #endif
231  if (index[i] < triggerSize) {
232  hltresults.push_back(_Triggers->accept(index[i]));
233 #ifdef EDM_ML_DEBUG
234  if ((verbosity_/10000)%10>0)
235  edm::LogVerbatim("HBHEMuon") << "Trigger_info " << triggerSize
236  << " triggerSize " << index[i]
237  << " trigger_index " << hltresults.at(i)
238  << " hltresult" << std::endl;
239 #endif
240  } else {
241  if ((verbosity_/10000)%10>0)
242  edm::LogVerbatim("HBHEMuon") << "Requested HLT path \""
243  << "\" does not exist\n";
244  }
245  }
246  }
247 
248  // get handles to calogeometry and calotopology
250  iSetup.get<CaloGeometryRecord>().get(pG);
251  const CaloGeometry* geo = pG.product();
252 
254  iSetup.get<IdealMagneticFieldRecord>().get(bFieldH);
255  const MagneticField* bField = bFieldH.product();
256 
258  iSetup.get<EcalChannelStatusRcd>().get(ecalChStatus);
259  const EcalChannelStatus* theEcalChStatus = ecalChStatus.product();
260 
262  iSetup.get<EcalSeverityLevelAlgoRcd>().get(sevlv);
263 
264  edm::ESHandle<CaloTopology> theCaloTopology;
265  iSetup.get<CaloTopologyRecord>().get(theCaloTopology);
266  const CaloTopology *caloTopology = theCaloTopology.product();
267 
269  iSetup.get<HcalRecNumberingRecord>().get(htopo);
270  const HcalTopology* theHBHETopology = htopo.product();
271 
273  iSetup.get<HcalRespCorrsRcd>().get(resp);
274  HcalRespCorrs* respCorrs = new HcalRespCorrs(*resp.product());
275  respCorrs->setTopo(theHBHETopology);
276 
277  // Relevant blocks from iEvent
279  iEvent.getByToken(tok_Vtx_, vtx);
280  edm::Handle<reco::BeamSpot> beamSpotH;
281  iEvent.getByToken(tok_bs_, beamSpotH);
282 
283  edm::Handle<EcalRecHitCollection> barrelRecHitsHandle;
284  iEvent.getByToken(tok_EB_, barrelRecHitsHandle);
285  edm::Handle<EcalRecHitCollection> endcapRecHitsHandle;
286  iEvent.getByToken(tok_EE_, endcapRecHitsHandle);
287 
289  iEvent.getByToken(tok_HBHE_, hbhe);
290 
292  iEvent.getByToken(tok_Muon_, _Muon);
293 
294  // require a good vertex
295  math::XYZPoint pvx;
296  bool goodVtx(false);
297  if (vtx.isValid()) {
298  reco::VertexCollection::const_iterator firstGoodVertex = vtx->end();
299  for (reco::VertexCollection::const_iterator it = vtx->begin();
300  it != firstGoodVertex; it++) {
301  if (isGoodVertex(*it)) {
302  firstGoodVertex = it;
303  break;
304  }
305  }
306  if (firstGoodVertex != vtx->end()) {
307  pvx = firstGoodVertex->position();
308  goodVtx = true;
309  }
310  }
311  if (!goodVtx) {
312  if (beamSpotH.isValid()) {
313  pvx = beamSpotH->position();
314  goodVtx = true;
315  }
316  }
317  if (!goodVtx) {
318 #ifdef EDM_ML_DEBUG
319  edm::LogVerbatim("HBHEMuon") << "No Good Vertex found == Reject\n";
320 #endif
321  return;
322  }
323 
324  bool accept(false);
325  if (_Muon.isValid() && barrelRecHitsHandle.isValid() &&
326  endcapRecHitsHandle.isValid() && hbhe.isValid()) {
327  for (reco::MuonCollection::const_iterator RecMuon = _Muon->begin(); RecMuon!= _Muon->end(); ++RecMuon) {
328 
329  if ((RecMuon->p()>10.0) && (RecMuon->track().isNonnull())) accept = true;
330 
331  muon_is_good_.push_back(RecMuon->isPFMuon());
332  muon_global_.push_back(RecMuon->isGlobalMuon());
333  muon_tracker_.push_back(RecMuon->isTrackerMuon());
334  ptGlob_.push_back((RecMuon)->pt());
335  etaGlob_.push_back(RecMuon->eta());
336  phiGlob_.push_back(RecMuon->phi());
337  energyMuon_.push_back(RecMuon->energy());
338  pMuon_.push_back(RecMuon->p());
339 #ifdef EDM_ML_DEBUG
340  edm::LogVerbatim("HBHEMuon") << "Energy:" << RecMuon->energy() << " P:"
341  << RecMuon->p() << std::endl;
342 #endif
343  muon_trkKink.push_back(RecMuon->combinedQuality().trkKink);
344  muon_chi2LocalPosition.push_back(RecMuon->combinedQuality().chi2LocalPosition);
345  muon_segComp.push_back(muon::segmentCompatibility(*RecMuon));
346  // acessing tracker hits info
347  if (RecMuon->track().isNonnull()) {
348  trackerLayer_.push_back(RecMuon->track()->hitPattern().trackerLayersWithMeasurement());
349  } else {
350  trackerLayer_.push_back(-1);
351  }
352  if (RecMuon->innerTrack().isNonnull()) {
353  innerTrack_.push_back(true);
354  numPixelLayers_.push_back(RecMuon->innerTrack()->hitPattern().pixelLayersWithMeasurement());
355  chiTracker_.push_back(RecMuon->innerTrack()->normalizedChi2());
356  dxyTracker_.push_back(fabs(RecMuon->innerTrack()->dxy(pvx)));
357  dzTracker_.push_back(fabs(RecMuon->innerTrack()->dz(pvx)));
358  innerTrackpt_.push_back(RecMuon->innerTrack()->pt());
359  innerTracketa_.push_back(RecMuon->innerTrack()->eta());
360  innerTrackphi_.push_back(RecMuon->innerTrack()->phi());
361  tight_PixelHits_.push_back(RecMuon->innerTrack()->hitPattern().numberOfValidPixelHits());
362  tight_validFraction_.push_back(RecMuon->innerTrack()->validFraction());
363  } else {
364  innerTrack_.push_back(false);
365  numPixelLayers_.push_back(0);
366  chiTracker_.push_back(0);
367  dxyTracker_.push_back(0);
368  dzTracker_.push_back(0);
369  innerTrackpt_.push_back(0);
370  innerTracketa_.push_back(0);
371  innerTrackphi_.push_back(0);
372  tight_PixelHits_.push_back(0);
373  tight_validFraction_.push_back(-99);
374  }
375  // outer track info
376  if (RecMuon->outerTrack().isNonnull()) {
377  outerTrack_.push_back(true);
378  outerTrackPt_.push_back(RecMuon->outerTrack()->pt());
379  outerTrackEta_.push_back(RecMuon->outerTrack()->eta());
380  outerTrackPhi_.push_back(RecMuon->outerTrack()->phi());
381  outerTrackChi_.push_back(RecMuon->outerTrack()->normalizedChi2());
382  outerTrackHits_.push_back(RecMuon->outerTrack()->numberOfValidHits());
383  outerTrackRHits_.push_back(RecMuon->outerTrack()->recHitsSize());
384  } else {
385  outerTrack_.push_back(false);
386  outerTrackPt_.push_back(0);
387  outerTrackEta_.push_back(0);
388  outerTrackPhi_.push_back(0);
389  outerTrackChi_.push_back(0);
390  outerTrackHits_.push_back(0);
391  outerTrackRHits_.push_back(0);
392  }
393  // Tight Muon cuts
394  if (RecMuon->globalTrack().isNonnull()) {
395  globalTrack_.push_back(true);
396  chiGlobal_.push_back(RecMuon->globalTrack()->normalizedChi2());
397  globalMuonHits_.push_back(RecMuon->globalTrack()->hitPattern().numberOfValidMuonHits());
398  matchedStat_.push_back(RecMuon->numberOfMatchedStations());
399  globalTrckPt_.push_back(RecMuon->globalTrack()->pt());
400  globalTrckEta_.push_back(RecMuon->globalTrack()->eta());
401  globalTrckPhi_.push_back(RecMuon->globalTrack()->phi());
402  tight_TransImpara_.push_back(fabs(RecMuon->muonBestTrack()->dxy(pvx)));
403  tight_LongPara_.push_back(fabs(RecMuon->muonBestTrack()->dz(pvx)));
404  } else {
405  globalTrack_.push_back(false);
406  chiGlobal_.push_back(0);
407  globalMuonHits_.push_back(0);
408  matchedStat_.push_back(0);
409  globalTrckPt_.push_back(0);
410  globalTrckEta_.push_back(0);
411  globalTrckPhi_.push_back(0);
412  tight_TransImpara_.push_back(0);
413  tight_LongPara_.push_back(0);
414  }
415 
416  isolationR04_.push_back(((RecMuon->pfIsolationR04().sumChargedHadronPt + std::max(0.,RecMuon->pfIsolationR04().sumNeutralHadronEt + RecMuon->pfIsolationR04().sumPhotonEt - (0.5 *RecMuon->pfIsolationR04().sumPUPt))) / RecMuon->pt()) );
417 
418  isolationR03_.push_back(((RecMuon->pfIsolationR03().sumChargedHadronPt + std::max(0.,RecMuon->pfIsolationR03().sumNeutralHadronEt + RecMuon->pfIsolationR03().sumPhotonEt - (0.5 * RecMuon->pfIsolationR03().sumPUPt))) / RecMuon->pt()));
419 
420  ecalEnergy_.push_back(RecMuon->calEnergy().emS9);
421  hcalEnergy_.push_back(RecMuon->calEnergy().hadS9);
422  hoEnergy_.push_back(RecMuon->calEnergy().hoS9);
423 
424  double eEcal(0), eHcal(0), activeLengthTot(0), activeLengthHotTot(0);
425  double eHcalDepth[depthMax_], eHcalDepthHot[depthMax_];
426  double eHcalDepthC[depthMax_], eHcalDepthHotC[depthMax_];
427  double activeL[depthMax_], activeHotL[depthMax_];
428  HcalDetId eHcalDetId[depthMax_];
429  unsigned int isHot(0);
430  bool tmpmatch(false);
431  for (int i=0; i<depthMax_; ++i) {
432  eHcalDepth[i] = eHcalDepthHot[i] = 0;
433  eHcalDepthC[i] = eHcalDepthHotC[i] = 0;
434  activeL[i] = activeHotL[i] = 0;
435  }
436  if (RecMuon->innerTrack().isNonnull()) {
437  const reco::Track* pTrack = (RecMuon->innerTrack()).get();
438  spr::propagatedTrackID trackID = spr::propagateCALO(pTrack, geo, bField, (((verbosity_/100)%10>0)));
439 
440  ecalDetId_.push_back((trackID.detIdECAL)());
441  hcalDetId_.push_back((trackID.detIdHCAL)());
442  ehcalDetId_.push_back((trackID.detIdEHCAL)());
443 
445  std::pair<bool,HcalDetId> info = spr::propagateHCALBack(pTrack, geo, bField, (((verbosity_/100)%10>0)));
446  if (info.first) {
447  check = info.second;
448  }
449 
450  bool okE = trackID.okECAL;
451  if (okE) {
452  const DetId isoCell(trackID.detIdECAL);
453  std::pair<double,bool> e3x3 = spr::eECALmatrix(isoCell,barrelRecHitsHandle,endcapRecHitsHandle,*theEcalChStatus,geo,caloTopology,sevlv.product(),1,1,-100.0,-100.0,-500.0,500.0,false);
454  eEcal = e3x3.first;
455  okE = e3x3.second;
456  }
457 #ifdef EDM_ML_DEBUG
458  edm::LogVerbatim("HBHEMuon") << "Propagate Track to ECAL: " << okE
459  << ":" << trackID.okECAL << " E "
460  << eEcal << std::endl;
461 #endif
462 
463  if (trackID.okHCAL) {
464  const DetId closestCell(trackID.detIdHCAL);
465  HcalDetId hcidt(closestCell.rawId());
466  if ((hcidt.ieta() == check.ieta()) && (hcidt.iphi() == check.iphi()))
467  tmpmatch= true;
468 
469  HcalSubdetector subdet = HcalDetId(closestCell).subdet();
470  int ieta = HcalDetId(closestCell).ieta();
471  int iphi = HcalDetId(closestCell).iphi();
472  bool hborhe = (std::abs(ieta) == 16);
473 
474  eHcal = spr::eHCALmatrix(theHBHETopology, closestCell, hbhe,0,0, false, true, -100.0, -100.0, -100.0, -100.0, -500.,500.,useRaw_);
475  std::vector<std::pair<double,int> > ehdepth;
476  spr::energyHCALCell((HcalDetId) closestCell, hbhe, ehdepth, maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0, useRaw_, (((verbosity_/1000)%10)>0));
477  for (int i=0; i<depthMax_; ++i) eHcalDetId[i] = HcalDetId();
478  for (unsigned int i=0; i<ehdepth.size(); ++i) {
479  HcalSubdetector subdet0 = (hborhe) ? ((ehdepth[i].second >= depthHE) ? HcalEndcap : HcalBarrel) : subdet;
480  HcalDetId hcid0(subdet0,ieta,iphi,ehdepth[i].second);
481  double actL = activeLength(DetId(hcid0));
482  double ene = ehdepth[i].first;
483  double enec(ene);
484  if (unCorrect_) {
485  double corr = (respCorrs->getValues(DetId(hcid0)))->getValue();
486  if (corr != 0) ene /= corr;
487 #ifdef EDM_ML_DEBUG
488  edm::LogVerbatim("HBHEMuon") << hcid0 << " corr " << corr;
489 #endif
490  }
491  int depth = ehdepth[i].second - 1;
492  if (collapseDepth_) {
493  HcalDetId id = hdc->mergedDepthDetId(hcid0);
494  depth = id.depth() - 1;
495  }
496  eHcalDepth[depth] += ene;
497  eHcalDepthC[depth]+= enec;
498  activeL[depth] += actL;
499  activeLengthTot += actL;
500 #ifdef EDM_ML_DEBUG
501  if ((verbosity_%10) > 0)
502  edm::LogVerbatim("HBHEMuon") << hcid0 << " E " << ene << " L "
503  << actL << std::endl;
504 #endif
505  }
506 
507  HcalDetId hotCell;
508  spr::eHCALmatrix(geo, theHBHETopology, closestCell, hbhe, 1,1, hotCell, false, useRaw_, false);
509  isHot = matchId(closestCell,hotCell);
510  if (hotCell != HcalDetId()) {
511  subdet = HcalDetId(hotCell).subdet();
512  ieta = HcalDetId(hotCell).ieta();
513  iphi = HcalDetId(hotCell).iphi();
514  hborhe = (std::abs(ieta) == 16);
515  std::vector<std::pair<double,int> > ehdepth;
516  spr::energyHCALCell(hotCell, hbhe, ehdepth, maxDepth_, -100.0, -100.0, -100.0, -100.0, -500.0, 500.0, useRaw_, false);//(((verbosity_/1000)%10)>0 ));
517  for (int i=0; i<depthMax_; ++i) eHcalDetId[i] = HcalDetId();
518  for (unsigned int i=0; i<ehdepth.size(); ++i) {
519  HcalSubdetector subdet0 = (hborhe) ? ((ehdepth[i].second >= depthHE) ? HcalEndcap : HcalBarrel) : subdet;
520  HcalDetId hcid0(subdet0,ieta,iphi,ehdepth[i].second);
521  double actL = activeLength(DetId(hcid0));
522  double ene = ehdepth[i].first;
523  double enec(ene);
524  if (unCorrect_) {
525  double corr = (respCorrs->getValues(DetId(hcid0)))->getValue();
526  if (corr != 0) ene /= corr;
527 #ifdef EDM_ML_DEBUG
528  edm::LogVerbatim("HBHEMuon") << hcid0 << " corr " << corr;
529 #endif
530  }
531  int depth = ehdepth[i].second - 1;
532  if (collapseDepth_) {
533  HcalDetId id = hdc->mergedDepthDetId(hcid0);
534  depth = id.depth() - 1;
535  }
536  eHcalDepthHot[depth] += ene;
537  eHcalDepthHotC[depth]+= enec;
538  activeHotL[depth] += actL;
539  activeLengthHotTot += actL;
540 #ifdef EDM_ML_DEBUG
541  if ((verbosity_%10) > 0)
542  edm::LogVerbatim("HBHEMuon") << hcid0 << " E " << ene
543  << " L " << actL << std::endl;
544 #endif
545  }
546  }
547  }
548 #ifdef EDM_ML_DEBUG
549  edm::LogVerbatim("HBHEMuon") << "Propagate Track to HCAL: "
550  << trackID.okHCAL << " Match " << tmpmatch
551  << " Hot " << isHot << " Energy "
552  << eHcal << std::endl;
553 #endif
554 
555  } else {
556  ecalDetId_.push_back(0);
557  hcalDetId_.push_back(0);
558  ehcalDetId_.push_back(0);
559  }
560 
561  matchedId_.push_back(tmpmatch);
562  ecal3x3Energy_.push_back(eEcal);
563  hcal1x1Energy_.push_back(eHcal);
564  for (int i=0; i<depthMax_; ++i) {
565  hcalDepthEnergy_[i].push_back(eHcalDepth[i]);
566  hcalDepthActiveLength_[i].push_back(activeL[i]);
567  hcalDepthEnergyHot_[i].push_back(eHcalDepthHot[i]);
568  hcalDepthActiveLengthHot_[i].push_back(activeHotL[i]);
569  hcalDepthEnergyCorr_[i].push_back(eHcalDepthC[i]);
570  hcalDepthEnergyHotCorr_[i].push_back(eHcalDepthHotC[i]);
571  }
572  hcalActiveLength_.push_back(activeLengthTot);
573  hcalHot_.push_back(isHot);
574  hcalActiveLengthHot_.push_back(activeLengthHotTot);
575  }
576  }
577  if (accept) tree_->Fill();
578 }
std::vector< double > tight_validFraction_
std::vector< double > innerTrackphi_
static const TGPicture * info(bool iBackgroundIsBlack)
std::vector< double > hcalHot_
std::vector< spr::propagatedTrackID > propagateCALO(edm::Handle< reco::TrackCollection > &trkCollection, const CaloGeometry *geo, const MagneticField *bField, std::string &theTrackQuality, bool debug=false)
std::vector< double > dzTracker_
static const int depthMax_
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
std::vector< double > muon_chi2LocalPosition
std::vector< double > outerTrackChi_
std::vector< double > matchedStat_
HcalDetId mergedDepthDetId(const HcalDetId &id) const
std::vector< double > tight_LongPara_
std::vector< double > muon_trkKink
edm::EDGetTokenT< EcalRecHitCollection > tok_EE_
std::vector< unsigned int > ecalDetId_
std::vector< double > pMuon_
bool accept() const
Has at least one path accepted the event?
std::vector< double > globalTrckPhi_
std::vector< double > outerTrackHits_
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, bool useRaw=false, bool debug=false)
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::vector< double > isolationR03_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
std::vector< bool > muon_global_
edm::EDGetTokenT< edm::TriggerResults > tok_trigRes_
std::vector< double > hcalDepthEnergy_[depthMax_]
std::vector< double > outerTrackPt_
U second(std::pair< T, U > const &p)
edm::EDGetTokenT< reco::BeamSpot > tok_bs_
edm::EDGetTokenT< reco::VertexCollection > tok_Vtx_
std::vector< double > globalTrckPt_
int depth() const
get the tower depth
Definition: HcalDetId.cc:108
int iEvent
Definition: GenABIO.cc:230
std::vector< bool > muon_tracker_
std::vector< double > ecalEnergy_
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
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)
std::vector< double > hcalActiveLengthHot_
std::vector< double > innerTracketa_
std::vector< double > globalTrckEta_
std::vector< double > isolationR04_
std::vector< double > hcalDepthActiveLengthHot_[depthMax_]
unsigned int size() const
Get number of paths stored.
std::vector< double > hcalDepthEnergyHotCorr_[depthMax_]
std::vector< double > ptGlob_
std::vector< unsigned int > ehcalDetId_
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
HcalSubdetector
Definition: HcalAssistant.h:31
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::vector< double > tight_PixelHits_
float segmentCompatibility(const reco::Muon &muon, reco::Muon::ArbitrationType arbitrationType=reco::Muon::SegmentAndTrackArbitration)
std::vector< double > hcalEnergy_
std::vector< double > trackerLayer_
std::vector< double > outerTrackEta_
bool isValid() const
Definition: HandleBase.h:74
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, bool useRaw=false, bool debug=false)
double activeLength(const DetId &)
std::vector< bool > globalTrack_
std::vector< double > outerTrackRHits_
std::vector< double > hcal1x1Energy_
edm::EDGetTokenT< reco::MuonCollection > tok_Muon_
JetCorrectorParameters corr
Definition: classes.h:5
std::vector< bool > muon_is_good_
int iphi() const
get the cell iphi
Definition: HcalDetId.cc:103
Definition: DetId.h:18
std::vector< double > chiGlobal_
std::vector< unsigned int > hcalDetId_
std::vector< double > hcalDepthEnergyHot_[depthMax_]
std::vector< int > hltresults
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
std::vector< double > hcalDepthEnergyCorr_[depthMax_]
std::vector< std::string > all_triggers
std::vector< double > globalMuonHits_
std::vector< double > hcalDepthActiveLength_[depthMax_]
std::vector< double > hoEnergy_
int matchId(const HcalDetId &, const HcalDetId &)
const HcalDDDRecConstants * hdc
std::vector< double > phiGlob_
edm::EDGetTokenT< EcalRecHitCollection > tok_EB_
std::vector< double > hcalActiveLength_
std::vector< double > chiTracker_
std::vector< double > matchedId_
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
const Point & position() const
position
Definition: BeamSpot.h:62
std::vector< bool > outerTrack_
std::vector< double > muon_segComp
def check(config)
Definition: trackerTree.py:14
std::vector< double > numPixelLayers_
edm::EDGetTokenT< HBHERecHitCollection > tok_HBHE_
T const * product() const
Definition: ESHandle.h:86
std::vector< double > dxyTracker_
std::vector< double > ecal3x3Energy_
void setTopo(const HcalTopology *topo)
std::vector< double > tight_TransImpara_
std::vector< double > energyMuon_
std::vector< double > etaGlob_
bool isGoodVertex(const reco::Vertex &vtx)
std::vector< double > outerTrackPhi_
std::vector< double > innerTrackpt_
std::vector< bool > innerTrack_
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)
void HcalHBHEMuonAnalyzer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 581 of file HcalHBHEMuonAnalyzer.cc.

References all_triggers, bxNumber_, chiGlobal_, chiTracker_, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, ecalEnergy_, ehcalDetId_, energyMuon_, etaGlob_, eventNumber_, fs, globalMuonHits_, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, hcal1x1Energy_, hcalActiveLength_, hcalActiveLengthHot_, hcalDepthActiveLength_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, hcalDetId_, hcalEnergy_, hcalHot_, hltresults, hoEnergy_, innerTrack_, innerTracketa_, innerTrackphi_, innerTrackpt_, isolationR03_, isolationR04_, gen::k, lumiNumber_, TFileService::make(), matchedId_, matchedStat_, maxDepth_, muon_chi2LocalPosition, muon_global_, muon_is_good_, muon_segComp, muon_tracker_, muon_trkKink, dataset::name, numPixelLayers_, outerTrack_, outerTrackChi_, outerTrackEta_, outerTrackHits_, outerTrackPhi_, outerTrackPt_, outerTrackRHits_, phiGlob_, pMuon_, ptGlob_, runNumber_, saveCorrect_, tight_LongPara_, tight_PixelHits_, tight_TransImpara_, tight_validFraction_, trackerLayer_, and tree_.

581  {
582 
583  tree_ = fs->make<TTree>("TREE", "TREE");
584  tree_->Branch("Event_No", &eventNumber_);
585  tree_->Branch("Run_No", &runNumber_);
586  tree_->Branch("LumiNumber", &lumiNumber_);
587  tree_->Branch("BXNumber", &bxNumber_);
588  tree_->Branch("pt_of_muon", &ptGlob_);
589  tree_->Branch("eta_of_muon", &etaGlob_);
590  tree_->Branch("phi_of_muon", &phiGlob_);
591  tree_->Branch("energy_of_muon", &energyMuon_);
592  tree_->Branch("p_of_muon", &pMuon_);
593  tree_->Branch("PF_Muon", &muon_is_good_);
594  tree_->Branch("Global_Muon", &muon_global_);
595  tree_->Branch("Tracker_muon", &muon_tracker_);
596 
597  tree_->Branch("hcal_3into3", &hcalEnergy_);
598  tree_->Branch("hcal_1x1", &hcal1x1Energy_);
599  tree_->Branch("hcal_detID", &hcalDetId_);
600  tree_->Branch("hcal_cellHot", &hcalHot_);
601  tree_->Branch("activeLength", &hcalActiveLength_);
602  tree_->Branch("activeLengthHot", &hcalActiveLengthHot_);
603  char name[100];
604  for (int k=0; k<maxDepth_; ++k) {
605  sprintf (name, "hcal_edepth%d", (k+1));
606  tree_->Branch(name, &hcalDepthEnergy_[k]);
607  sprintf (name, "hcal_activeL%d", (k+1));
608  tree_->Branch(name, &hcalDepthActiveLength_[k]);
609  sprintf (name, "hcal_edepthHot%d", (k+1));
610  tree_->Branch(name, &hcalDepthEnergyHot_[k]);
611  sprintf (name, "hcal_activeHotL%d", (k+1));
612  tree_->Branch(name, &hcalDepthActiveLength_[k]);
613  if (saveCorrect_) {
614  sprintf (name, "hcal_edepthCorrect%d", (k+1));
615  tree_->Branch(name, &hcalDepthEnergyCorr_[k]);
616  sprintf (name, "hcal_edepthHotCorrect%d", (k+1));
617  tree_->Branch(name, &hcalDepthEnergyHotCorr_[k]);
618  }
619  }
620 
621  tree_->Branch("TrackerLayer", &trackerLayer_);
622  tree_->Branch("matchedId", &matchedId_);
623  tree_->Branch("innerTrack", &innerTrack_);
624  tree_->Branch("innerTrackpt", &innerTrackpt_);
625  tree_->Branch("innerTracketa", &innerTracketa_);
626  tree_->Branch("innerTrackphi", &innerTrackphi_);
627  tree_->Branch("MatchedStat", &matchedStat_);
628  tree_->Branch("GlobalTrckPt", &globalTrckPt_);
629  tree_->Branch("GlobalTrckEta", &globalTrckEta_);
630  tree_->Branch("GlobalTrckPhi", &globalTrckPhi_);
631  tree_->Branch("NumPixelLayers", &numPixelLayers_);
632  tree_->Branch("chiTracker", &chiTracker_);
633  tree_->Branch("DxyTracker", &dxyTracker_);
634  tree_->Branch("DzTracker", &dzTracker_);
635  tree_->Branch("OuterTrack", &outerTrack_);
636  tree_->Branch("OuterTrackPt", &outerTrackPt_);
637  tree_->Branch("OuterTrackEta", &outerTrackEta_);
638  tree_->Branch("OuterTrackPhi", &outerTrackPhi_);
639  tree_->Branch("OuterTrackHits", &outerTrackHits_);
640  tree_->Branch("OuterTrackRHits", &outerTrackRHits_);
641  tree_->Branch("OuterTrackChi", &outerTrackChi_);
642  tree_->Branch("GlobalTrack", &globalTrack_);
643  tree_->Branch("GlobTrack_Chi", &chiGlobal_);
644  tree_->Branch("Global_Muon_Hits", &globalMuonHits_);
645  tree_->Branch("MatchedStations", &matchedStat_);
646  tree_->Branch("Global_Track_Pt", &globalTrckPt_);
647  tree_->Branch("Global_Track_Eta", &globalTrckEta_);
648  tree_->Branch("Global_Track_Phi", &globalTrckPhi_);
650  tree_->Branch("Tight_LongitudinalImpactparameter",&tight_LongPara_);
651  tree_->Branch("Tight_TransImpactparameter", &tight_TransImpara_);
652  tree_->Branch("InnerTrackPixelHits", &tight_PixelHits_);
653  tree_->Branch("IsolationR04", &isolationR04_);
654  tree_->Branch("IsolationR03", &isolationR03_);
655 
656  tree_->Branch("ecal_3into3", &ecalEnergy_);
657  tree_->Branch("ecal_3x3", &ecal3x3Energy_);
658  tree_->Branch("ecal_detID", &ecalDetId_);
659  tree_->Branch("ehcal_detID", &ehcalDetId_);
660  tree_->Branch("tracker_3into3", &hoEnergy_);
661 
663  tree_->Branch("hltresults", &hltresults);
664  tree_->Branch("all_triggers", &all_triggers);
665 
666  tree_->Branch("muon_trkKink", &muon_trkKink);
667  tree_->Branch("muon_chi2LocalPosition", &muon_chi2LocalPosition);
668  tree_->Branch("muon_segComp", &muon_segComp);
669  tree_->Branch("tight_validFraction", &tight_validFraction_);
670 }
std::vector< double > tight_validFraction_
std::vector< double > innerTrackphi_
std::vector< double > hcalHot_
std::vector< double > dzTracker_
std::vector< double > muon_chi2LocalPosition
std::vector< double > outerTrackChi_
std::vector< double > matchedStat_
std::vector< double > tight_LongPara_
std::vector< double > muon_trkKink
std::vector< unsigned int > ecalDetId_
std::vector< double > pMuon_
std::vector< double > globalTrckPhi_
std::vector< double > outerTrackHits_
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::vector< double > isolationR03_
std::vector< bool > muon_global_
std::vector< double > hcalDepthEnergy_[depthMax_]
std::vector< double > outerTrackPt_
std::vector< double > globalTrckPt_
std::vector< bool > muon_tracker_
std::vector< double > ecalEnergy_
std::vector< double > hcalActiveLengthHot_
std::vector< double > innerTracketa_
std::vector< double > globalTrckEta_
std::vector< double > isolationR04_
std::vector< double > hcalDepthEnergyHotCorr_[depthMax_]
std::vector< double > ptGlob_
std::vector< unsigned int > ehcalDetId_
std::vector< double > tight_PixelHits_
std::vector< double > hcalEnergy_
std::vector< double > trackerLayer_
std::vector< double > outerTrackEta_
std::vector< bool > globalTrack_
std::vector< double > outerTrackRHits_
std::vector< double > hcal1x1Energy_
int k[5][pyjets_maxn]
std::vector< bool > muon_is_good_
std::vector< double > chiGlobal_
std::vector< unsigned int > hcalDetId_
std::vector< double > hcalDepthEnergyHot_[depthMax_]
std::vector< int > hltresults
std::vector< double > hcalDepthEnergyCorr_[depthMax_]
std::vector< std::string > all_triggers
std::vector< double > globalMuonHits_
std::vector< double > hcalDepthActiveLength_[depthMax_]
std::vector< double > hoEnergy_
std::vector< double > phiGlob_
std::vector< double > hcalActiveLength_
std::vector< double > chiTracker_
std::vector< double > matchedId_
std::vector< bool > outerTrack_
std::vector< double > muon_segComp
std::vector< double > numPixelLayers_
edm::Service< TFileService > fs
std::vector< double > dxyTracker_
std::vector< double > ecal3x3Energy_
std::vector< double > tight_TransImpara_
std::vector< double > energyMuon_
std::vector< double > etaGlob_
std::vector< double > outerTrackPhi_
std::vector< double > innerTrackpt_
std::vector< bool > innerTrack_
virtual void HcalHBHEMuonAnalyzer::beginLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual

Definition at line 78 of file HcalHBHEMuonAnalyzer.cc.

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

Definition at line 673 of file HcalHBHEMuonAnalyzer.cc.

References actHB, actHE, all_triggers, edm::EventSetup::get(), HcalDDDRecConstants::getThickActive(), hdc, hltConfig_, lumiCalc2::hltname, HLTConfigProvider::init(), edm::ESHandle< T >::product(), HLTConfigProvider::size(), AlCaHLTBitMon_QueryRunRegistry::string, lumiQTWidget::t, HLTConfigProvider::triggerName(), and triggers_.

673  {
674 
676  iSetup.get<HcalRecNumberingRecord>().get(pHRNDC);
677  hdc = pHRNDC.product();
678  actHB.clear();
679  actHE.clear();
680  actHB = hdc->getThickActive(0);
681  actHE = hdc->getThickActive(1);
682 
683  bool changed = true;
684  all_triggers.clear();
685  if (hltConfig_.init(iRun, iSetup,"HLT" , changed)) {
686  // if init returns TRUE, initialisation has succeeded!
687 #ifdef EDM_ML_DEBUG
688  edm::LogVerbatim("HBHEMuon") << "HLT config with process name "
689  << "HLT" << " successfully extracted"
690  << std::endl;
691 #endif
692  unsigned int ntriggers = hltConfig_.size();
693  for (unsigned int t=0;t<ntriggers;++t) {
695  for (unsigned int ik=0; ik<6; ++ik) {
696  if (hltname.find(triggers_[ik])!=std::string::npos ){
697  all_triggers.push_back(hltname);
698  break;
699  }
700  }
701  }//loop over ntriggers
702  edm::LogVerbatim("HBHEMuon") << "All triggers size in begin run "
703  << all_triggers.size() << std::endl;
704  } else {
705  edm::LogError("HBHEMuon") << "Error! HLT config extraction with process name "
706  << "HLT" << " failed";
707  }
708 
709 }
unsigned int size() const
number of trigger paths in trigger table
std::vector< std::string > triggers_
const std::string & triggerName(unsigned int triggerIndex) const
std::vector< HcalDDDRecConstants::HcalActiveLength > actHE
std::vector< HcalDDDRecConstants::HcalActiveLength > actHB
bool init(const edm::Run &iRun, const edm::EventSetup &iSetup, const std::string &processName, bool &changed)
d&#39;tor
std::vector< std::string > all_triggers
const HcalDDDRecConstants * hdc
HLTConfigProvider hltConfig_
std::vector< HcalActiveLength > getThickActive(const int &type) const
T const * product() const
Definition: ESHandle.h:86
void HcalHBHEMuonAnalyzer::clearVectors ( )
private

clearing vectots

Definition at line 737 of file HcalHBHEMuonAnalyzer.cc.

References bxNumber_, chiGlobal_, chiTracker_, dxyTracker_, dzTracker_, ecal3x3Energy_, ecalDetId_, ecalEnergy_, ehcalDetId_, energyMuon_, etaGlob_, eventNumber_, globalMuonHits_, globalTrack_, globalTrckEta_, globalTrckPhi_, globalTrckPt_, hcal1x1Energy_, hcalActiveLengthHot_, hcalDepthActiveLength_, hcalDepthActiveLengthHot_, hcalDepthEnergy_, hcalDepthEnergyCorr_, hcalDepthEnergyHot_, hcalDepthEnergyHotCorr_, 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_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(), and endLuminosityBlock().

737  {
739  eventNumber_ = -99999;
740  runNumber_ = -99999;
741  lumiNumber_ = -99999;
742  bxNumber_ = -99999;
743  muon_is_good_.clear();
744  muon_global_.clear();
745  muon_tracker_.clear();
746  ptGlob_.clear();
747  etaGlob_.clear();
748  phiGlob_.clear();
749  energyMuon_.clear();
750  pMuon_.clear();
751  trackerLayer_.clear();
752  matchedId_.clear();
753  innerTrack_.clear();
754  numPixelLayers_.clear();
755  chiTracker_.clear();
756  dxyTracker_.clear();
757  dzTracker_.clear();
758  innerTrackpt_.clear();
759  innerTracketa_.clear();
760  innerTrackphi_.clear();
761  tight_PixelHits_.clear();
762  outerTrack_.clear();
763  outerTrackPt_.clear();
764  outerTrackEta_.clear();
765  outerTrackPhi_.clear();
766  outerTrackHits_.clear();
767  outerTrackRHits_.clear();
768  outerTrackChi_.clear();
769  globalTrack_.clear();
770  chiGlobal_.clear();
771  globalMuonHits_.clear();
772  matchedStat_.clear();
773  globalTrckPt_.clear();
774  globalTrckEta_.clear();
775  globalTrckPhi_.clear();
776  tight_TransImpara_.clear();
777  tight_LongPara_.clear();
778 
779  isolationR04_.clear();
780  isolationR03_.clear();
781  ecalEnergy_.clear();
782  hcalEnergy_.clear();
783  hoEnergy_.clear();
784  ecalDetId_.clear();
785  hcalDetId_.clear();
786  ehcalDetId_.clear();
787  ecal3x3Energy_.clear();
788  hcal1x1Energy_.clear();
789  hcalHot_.clear();
790  hcalActiveLengthHot_.clear();
791  for (int i=0; i<maxDepth_; ++i) {
792  hcalDepthEnergy_[i].clear();
793  hcalDepthActiveLength_[i].clear();
794  hcalDepthEnergyHot_[i].clear();
795  hcalDepthActiveLengthHot_[i].clear();
796  hcalDepthEnergyCorr_[i].clear();
797  hcalDepthEnergyHotCorr_[i].clear();
798  }
799  hltresults.clear();
800  muon_trkKink.clear();
801  muon_chi2LocalPosition.clear();
802  muon_segComp.clear();
803  tight_validFraction_.clear();
804 }
std::vector< double > tight_validFraction_
std::vector< double > innerTrackphi_
std::vector< double > hcalHot_
std::vector< double > dzTracker_
std::vector< double > muon_chi2LocalPosition
std::vector< double > outerTrackChi_
std::vector< double > matchedStat_
std::vector< double > tight_LongPara_
std::vector< double > muon_trkKink
std::vector< unsigned int > ecalDetId_
std::vector< double > pMuon_
std::vector< double > globalTrckPhi_
std::vector< double > outerTrackHits_
std::vector< double > isolationR03_
std::vector< bool > muon_global_
std::vector< double > hcalDepthEnergy_[depthMax_]
std::vector< double > outerTrackPt_
std::vector< double > globalTrckPt_
std::vector< bool > muon_tracker_
std::vector< double > ecalEnergy_
std::vector< double > hcalActiveLengthHot_
std::vector< double > innerTracketa_
std::vector< double > globalTrckEta_
std::vector< double > isolationR04_
std::vector< double > hcalDepthActiveLengthHot_[depthMax_]
std::vector< double > hcalDepthEnergyHotCorr_[depthMax_]
std::vector< double > ptGlob_
std::vector< unsigned int > ehcalDetId_
std::vector< double > tight_PixelHits_
std::vector< double > hcalEnergy_
std::vector< double > trackerLayer_
std::vector< double > outerTrackEta_
std::vector< bool > globalTrack_
std::vector< double > outerTrackRHits_
std::vector< double > hcal1x1Energy_
std::vector< bool > muon_is_good_
std::vector< double > chiGlobal_
std::vector< unsigned int > hcalDetId_
std::vector< double > hcalDepthEnergyHot_[depthMax_]
std::vector< int > hltresults
std::vector< double > hcalDepthEnergyCorr_[depthMax_]
std::vector< double > globalMuonHits_
std::vector< double > hcalDepthActiveLength_[depthMax_]
std::vector< double > hoEnergy_
std::vector< double > phiGlob_
std::vector< double > chiTracker_
std::vector< double > matchedId_
std::vector< bool > outerTrack_
std::vector< double > muon_segComp
std::vector< double > numPixelLayers_
std::vector< double > dxyTracker_
std::vector< double > ecal3x3Energy_
std::vector< double > tight_TransImpara_
std::vector< double > energyMuon_
std::vector< double > etaGlob_
std::vector< double > outerTrackPhi_
std::vector< double > innerTrackpt_
std::vector< bool > innerTrack_
virtual void HcalHBHEMuonAnalyzer::endLuminosityBlock ( edm::LuminosityBlock const &  ,
edm::EventSetup const &   
)
inlineprivatevirtual
void HcalHBHEMuonAnalyzer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 77 of file HcalHBHEMuonAnalyzer.cc.

77 {}
void HcalHBHEMuonAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 712 of file HcalHBHEMuonAnalyzer.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.

712  {
714  desc.add<edm::InputTag>("HLTriggerResults",edm::InputTag("TriggerResults","","HLT"));
715  desc.add<std::string>("LabelBeamSpot","offlineBeamSpot");
716  desc.add<std::string>("LabelVertex","offlinePrimaryVertices");
717  desc.add<edm::InputTag>("LabelEBRecHit",edm::InputTag("ecalRecHit","EcalRecHitsEB"));
718  desc.add<edm::InputTag>("LabelEERecHit",edm::InputTag("ecalRecHit","EcalRecHitsEE"));
719  desc.add<edm::InputTag>("LabelHBHERecHit",edm::InputTag("hbhereco"));
720  desc.add<std::string>("LabelMuon","muons");
721 // std::vector<std::string> trig = {"HLT_IsoMu_","HLT_L1SingleMu_","HLT_L2Mu","HLT_Mu","HLT_RelIso1p0Mu"};
722  std::vector<std::string> trig = {"HLT_IsoMu17","HLT_IsoMu20",
723  "HLT_IsoMu24","HLT_IsoMu27",
724  "HLT_Mu45","HLT_Mu50"};
725  desc.add<std::vector<std::string>>("Triggers",trig);
726  desc.add<bool>("UseRaw",false);
727  desc.add<bool>("UnCorrect",false);
728  desc.add<bool>("CollapseDepth",false);
729  desc.add<bool>("SaveCorrect",false);
730  desc.addUntracked<std::string>("ModuleName","");
731  desc.addUntracked<std::string>("ProcessName","");
732  desc.addUntracked<int>("Verbosity",0);
733  desc.addUntracked<int>("MaxDepth",4);
734  descriptions.add("hcalHBHEMuon",desc);
735 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool HcalHBHEMuonAnalyzer::isGoodVertex ( const reco::Vertex vtx)
private

Definition at line 845 of file HcalHBHEMuonAnalyzer.cc.

References DEFINE_FWK_MODULE, reco::Vertex::isFake(), reco::Vertex::ndof(), and reco::Vertex::position().

Referenced by analyze(), and endLuminosityBlock().

845  {
846  if (vtx.isFake()) return false;
847  if (vtx.ndof() < 4) return false;
848  if (vtx.position().Rho() > 2.) return false;
849  if (fabs(vtx.position().Z()) > 24.) return false;
850  return true;
851 }
const Point & position() const
position
Definition: Vertex.h:109
double ndof() const
Definition: Vertex.h:105
bool isFake() const
Definition: Vertex.h:72
int HcalHBHEMuonAnalyzer::matchId ( const HcalDetId id1,
const HcalDetId id2 
)
private

Definition at line 806 of file HcalHBHEMuonAnalyzer.cc.

References HcalDetId::ieta(), HcalDetId::iphi(), match(), and HcalDetId::subdet().

Referenced by analyze(), and endLuminosityBlock().

806  {
807 
808  HcalDetId kd1(id1.subdet(),id1.ieta(),id1.iphi(),1);
809  HcalDetId kd2(id2.subdet(),id2.ieta(),id2.iphi(),1);
810  int match = ((kd1 == kd2) ? 1 : 0);
811  return match;
812 }
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:49
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
int iphi() const
get the cell iphi
Definition: HcalDetId.cc:103
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10

Member Data Documentation

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

Definition at line 128 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), and beginRun().

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

Definition at line 128 of file HcalHBHEMuonAnalyzer.cc.

Referenced by activeLength(), and beginRun().

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

Definition at line 129 of file HcalHBHEMuonAnalyzer.cc.

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

unsigned int HcalHBHEMuonAnalyzer::bxNumber_
private

Definition at line 135 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::chiGlobal_
private

Definition at line 107 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::chiTracker_
private

Definition at line 112 of file HcalHBHEMuonAnalyzer.cc.

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

bool HcalHBHEMuonAnalyzer::collapseDepth_
private

Definition at line 92 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

const int HcalHBHEMuonAnalyzer::depthMax_ =7
staticprivate

Definition at line 94 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

std::vector<double> HcalHBHEMuonAnalyzer::dxyTracker_
private

Definition at line 112 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::dzTracker_
private

Definition at line 112 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::ecal3x3Energy_
private

Definition at line 119 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<unsigned int> HcalHBHEMuonAnalyzer::ecalDetId_
private

Definition at line 120 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::ecalEnergy_
private

Definition at line 118 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<unsigned int> HcalHBHEMuonAnalyzer::ehcalDetId_
private

Definition at line 120 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::energyMuon_
private

Definition at line 118 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::etaGlob_
private

Definition at line 107 of file HcalHBHEMuonAnalyzer.cc.

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

unsigned int HcalHBHEMuonAnalyzer::eventNumber_
private

Definition at line 135 of file HcalHBHEMuonAnalyzer.cc.

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

edm::Service<TFileService> HcalHBHEMuonAnalyzer::fs
private

Definition at line 87 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginJob().

std::vector<double> HcalHBHEMuonAnalyzer::globalMuonHits_
private

Definition at line 108 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::globalTrack_
private

Definition at line 116 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::globalTrckEta_
private

Definition at line 109 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::globalTrckPhi_
private

Definition at line 109 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::globalTrckPt_
private

Definition at line 108 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcal1x1Energy_
private

Definition at line 119 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalActiveLength_
private

Definition at line 127 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and beginJob().

std::vector<double> HcalHBHEMuonAnalyzer::hcalActiveLengthHot_
private

Definition at line 127 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthActiveLength_[depthMax_]
private

Definition at line 122 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthActiveLengthHot_[depthMax_]
private

Definition at line 124 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and clearVectors().

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthEnergy_[depthMax_]
private

Definition at line 121 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthEnergyCorr_[depthMax_]
private

Definition at line 125 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthEnergyHot_[depthMax_]
private

Definition at line 123 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalDepthEnergyHotCorr_[depthMax_]
private

Definition at line 126 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<unsigned int> HcalHBHEMuonAnalyzer::hcalDetId_
private

Definition at line 120 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalEnergy_
private

Definition at line 118 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::hcalHot_
private

Definition at line 119 of file HcalHBHEMuonAnalyzer.cc.

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

const HcalDDDRecConstants* HcalHBHEMuonAnalyzer::hdc
private

Definition at line 95 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and beginRun().

HLTConfigProvider HcalHBHEMuonAnalyzer::hltConfig_
private

Definition at line 86 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun().

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

Definition at line 134 of file HcalHBHEMuonAnalyzer.cc.

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

edm::InputTag HcalHBHEMuonAnalyzer::HLTriggerResults_
private

Definition at line 88 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

std::vector<double> HcalHBHEMuonAnalyzer::hoEnergy_
private

Definition at line 118 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::innerTrack_
private

Definition at line 116 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::innerTracketa_
private

Definition at line 110 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::innerTrackphi_
private

Definition at line 110 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::innerTrackpt_
private

Definition at line 110 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::isolationR03_
private

Definition at line 117 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::isolationR04_
private

Definition at line 117 of file HcalHBHEMuonAnalyzer.cc.

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

int HcalHBHEMuonAnalyzer::kount_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

std::string HcalHBHEMuonAnalyzer::labelBS_
private

Definition at line 90 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

edm::InputTag HcalHBHEMuonAnalyzer::labelEBRecHit_
private

Definition at line 89 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

edm::InputTag HcalHBHEMuonAnalyzer::labelEERecHit_
private

Definition at line 89 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

edm::InputTag HcalHBHEMuonAnalyzer::labelHBHERecHit_
private

Definition at line 89 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

std::string HcalHBHEMuonAnalyzer::labelMuon_
private

Definition at line 90 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

std::string HcalHBHEMuonAnalyzer::labelVtx_
private

Definition at line 90 of file HcalHBHEMuonAnalyzer.cc.

Referenced by HcalHBHEMuonAnalyzer().

unsigned int HcalHBHEMuonAnalyzer::lumiNumber_
private

Definition at line 135 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::matchedId_
private

Definition at line 111 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::matchedStat_
private

Definition at line 108 of file HcalHBHEMuonAnalyzer.cc.

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

int HcalHBHEMuonAnalyzer::maxDepth_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::muon_chi2LocalPosition
private

Definition at line 106 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::muon_global_
private

Definition at line 133 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::muon_is_good_
private

Definition at line 133 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::muon_segComp
private

Definition at line 106 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::muon_tracker_
private

Definition at line 133 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::muon_trkKink
private

Definition at line 106 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::numPixelLayers_
private

Definition at line 111 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<bool> HcalHBHEMuonAnalyzer::outerTrack_
private

Definition at line 116 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackChi_
private

Definition at line 114 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackEta_
private

Definition at line 113 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackHits_
private

Definition at line 114 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackPhi_
private

Definition at line 113 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackPt_
private

Definition at line 113 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::outerTrackRHits_
private

Definition at line 114 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::phiGlob_
private

Definition at line 107 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::pMuon_
private

Definition at line 119 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::ptGlob_
private

Definition at line 107 of file HcalHBHEMuonAnalyzer.cc.

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

unsigned int HcalHBHEMuonAnalyzer::runNumber_
private

Definition at line 135 of file HcalHBHEMuonAnalyzer.cc.

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

bool HcalHBHEMuonAnalyzer::saveCorrect_
private

Definition at line 92 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginJob(), and HcalHBHEMuonAnalyzer().

std::vector<double> HcalHBHEMuonAnalyzer::tight_LongPara_
private

Definition at line 115 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::tight_PixelHits_
private

Definition at line 115 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::tight_TransImpara_
private

Definition at line 115 of file HcalHBHEMuonAnalyzer.cc.

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

std::vector<double> HcalHBHEMuonAnalyzer::tight_validFraction_
private

Definition at line 106 of file HcalHBHEMuonAnalyzer.cc.

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

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

Definition at line 98 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 100 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 101 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 102 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 103 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 97 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

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

Definition at line 99 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

std::vector<double> HcalHBHEMuonAnalyzer::trackerLayer_
private

Definition at line 109 of file HcalHBHEMuonAnalyzer.cc.

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

TTree* HcalHBHEMuonAnalyzer::tree_
private

Definition at line 132 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and beginJob().

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

Definition at line 91 of file HcalHBHEMuonAnalyzer.cc.

Referenced by beginRun(), and HcalHBHEMuonAnalyzer().

bool HcalHBHEMuonAnalyzer::unCorrect_
private

Definition at line 92 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

bool HcalHBHEMuonAnalyzer::useRaw_
private

Definition at line 92 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().

int HcalHBHEMuonAnalyzer::verbosity_
private

Definition at line 93 of file HcalHBHEMuonAnalyzer.cc.

Referenced by analyze(), and HcalHBHEMuonAnalyzer().