CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
RecAnalyzerMinbias Class Reference

#include <Calibration/HcalCalibAlgos/test/RecAnalyzerMinbias.cc>

Inheritance diagram for RecAnalyzerMinbias:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Classes

struct  myInfo
 

Public Member Functions

 RecAnalyzerMinbias (const edm::ParameterSet &)
 
 ~RecAnalyzerMinbias () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources >
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) 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

void analyze (edm::Event const &, edm::EventSetup const &) override
 
void analyzeHcal (const HBHERecHitCollection &, const HFRecHitCollection &, int, bool, double)
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endJob () override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

int cells
 
std::map< DetId, double > corrFactor_
 
int depth
 
double eHighHB_
 
double eHighHE_
 
double eHighHF_
 
double eLowHB_
 
double eLowHE_
 
double eLowHF_
 
double eMin_
 
bool extraHist_
 
bool fillHist_
 
edm::Service< TFileServicefs_
 
TH1D * h_ [4]
 
TH1D * h_AmplitudeHB_
 
TH1D * h_AmplitudeHBtest_
 
TH1D * h_AmplitudeHE_
 
TH1D * h_AmplitudeHEtest_
 
TH1D * h_AmplitudeHF_
 
TH1D * h_AmplitudeHFtest_
 
TH2D * hb_
 
TH2D * hbhe_
 
TProfile * hbherun_
 
int HBHEsize
 
TProfile * hbrun_
 
std::vector< unsigned int > hcalID_
 
TH2D * he_
 
TProfile * herun_
 
TH2D * hf_
 
TProfile * hfrun_
 
int HFsize
 
std::map< HcalDetId, TH1D * > histHC_
 
std::vector< TH1D * > histo_
 
int ieta
 
bool ignoreL1_
 
bool init_
 
int iphi
 
float mom0_MB
 
float mom1_MB
 
float mom2_MB
 
float mom3_MB
 
float mom4_MB
 
std::map< std::pair< int, HcalDetId >, myInfomyMap_
 
int mysubd
 
TTree * myTree1_
 
TTree * myTree_
 
bool Noise_
 
double rnnum_
 
double rnnumber
 
int runMax_
 
int runMin_
 
bool runNZS_
 
bool theRecalib_
 
edm::EDGetTokenT< GenEventInfoProducttok_ew_
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordtok_gtRec_
 
edm::EDGetTokenT< HBHEDigiCollectiontok_hbhedigi_
 
edm::EDGetTokenT< HBHERecHitCollectiontok_hbherecoMB_
 
edm::EDGetTokenT< HFDigiCollectiontok_hfdigi_
 
edm::EDGetTokenT< HFRecHitCollectiontok_hfrecoMB_
 
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecordtok_hltL1GtMap_
 
edm::EDGetTokenT< HODigiCollectiontok_hodigi_
 
edm::EDGetTokenT< QIE10DigiCollectiontok_qie10digi_
 
edm::EDGetTokenT< QIE11DigiCollectiontok_qie11digi_
 
int trigbit
 
std::vector< int > trigbit_
 

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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ESProduct , Transition Tr = Transition::Event>
auto esConsumes (eventsetup::EventSetupRecordKey const &, ESInputTag const &tag)
 
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

Description: Performs phi-symmetry studies of HB/HE/HF channels

Implementation: <Notes on="" implementation>="">

Definition at line 68 of file RecAnalyzerMinbias.cc.

Constructor & Destructor Documentation

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

Definition at line 131 of file RecAnalyzerMinbias.cc.

References funct::abs(), corrFactor_, depth, eHighHB_, eHighHE_, eHighHF_, eLowHB_, eLowHE_, eLowHF_, eMin_, extraHist_, fillHist_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), HcalBarrel, HcalEndcap, HcalForward, hcalID_, HcalOuter, triggerObjects_cff::id, ieta, ignoreL1_, iphi, gen::k, Noise_, runMax_, runMin_, runNZS_, AlCaHLTBitMon_QueryRunRegistry::string, theRecalib_, tok_ew_, tok_gtRec_, tok_hbhedigi_, tok_hbherecoMB_, tok_hfdigi_, tok_hfrecoMB_, tok_hltL1GtMap_, tok_hodigi_, tok_qie10digi_, tok_qie11digi_, and trigbit_.

131  :
132  init_(false) {
133 
134  usesResource("TFileService");
135 
136  // get name of output file with histogramms
137  runNZS_ = iConfig.getParameter<bool>("runNZS");
138  Noise_ = iConfig.getParameter<bool>("noise");
139  eLowHB_ = iConfig.getParameter<double>("eLowHB");
140  eHighHB_ = iConfig.getParameter<double>("eHighHB");
141  eLowHE_ = iConfig.getParameter<double>("eLowHE");
142  eHighHE_ = iConfig.getParameter<double>("eHighHE");
143  eLowHF_ = iConfig.getParameter<double>("eLowHF");
144  eHighHF_ = iConfig.getParameter<double>("eHighHF");
145  eMin_ = iConfig.getUntrackedParameter<double>("eMin",2.0);
146  // The following run range is suited to study 2017 commissioning period
147  runMin_ = iConfig.getUntrackedParameter<int>("RunMin",308327);
148  runMax_ = iConfig.getUntrackedParameter<int>("RunMax",315250);
149  trigbit_ = iConfig.getUntrackedParameter<std::vector<int>>("triggerBits");
150  ignoreL1_ = iConfig.getUntrackedParameter<bool>("ignoreL1",false);
151  std::string cfile= iConfig.getUntrackedParameter<std::string>("corrFile");
152  fillHist_ = iConfig.getUntrackedParameter<bool>("fillHisto",false);
153  extraHist_ = iConfig.getUntrackedParameter<bool>("extraHisto",false);
154  std::vector<int> ieta = iConfig.getUntrackedParameter<std::vector<int>>("hcalIeta");
155  std::vector<int> iphi = iConfig.getUntrackedParameter<std::vector<int>>("hcalIphi");
156  std::vector<int> depth= iConfig.getUntrackedParameter<std::vector<int>>("hcalDepth");
157 
158  // get token names of modules, producing object collections
159  tok_hbherecoMB_ = consumes<HBHERecHitCollection>(iConfig.getParameter<edm::InputTag>("hbheInputMB"));
160  tok_hfrecoMB_ = consumes<HFRecHitCollection>(iConfig.getParameter<edm::InputTag>("hfInputMB"));
161  tok_hltL1GtMap_ = consumes<L1GlobalTriggerObjectMapRecord>(edm::InputTag("hltL1GtObjectMap"));
162  tok_ew_ = consumes<GenEventInfoProduct>(edm::InputTag("generator"));
163  tok_hbhedigi_ = consumes<HBHEDigiCollection>(iConfig.getParameter<edm::InputTag>("hcalDigiCollectionTag"));
164  tok_qie11digi_ = consumes<QIE11DigiCollection>(iConfig.getParameter<edm::InputTag>("hcalDigiCollectionTag"));
165  tok_hodigi_ = consumes<HODigiCollection>(iConfig.getParameter<edm::InputTag>("hcalDigiCollectionTag"));
166  tok_hfdigi_ = consumes<HFDigiCollection>(iConfig.getParameter<edm::InputTag>("hcalDigiCollectionTag"));
167  tok_qie10digi_ = consumes<QIE10DigiCollection>(iConfig.getParameter<edm::InputTag>("hcalDigiCollectionTag"));
168  tok_gtRec_ = consumes<L1GlobalTriggerReadoutRecord>(edm::InputTag("gtDigisAlCaMB"));
169 
170  // Read correction factors
171  std::ifstream infile(cfile.c_str());
172  if (!infile.is_open()) {
173  theRecalib_ = false;
174  edm::LogWarning("RecAnalyzer") << "Cannot open '" << cfile
175  << "' for the correction file";
176  } else {
177  unsigned int ndets(0), nrec(0);
178  while (true) {
179  unsigned int id;
180  double cfac;
181  infile >> id >> cfac;
182  if (!infile.good()) break;
183  HcalDetId detId(id);
184  nrec++;
185  std::map<DetId,double>::iterator itr = corrFactor_.find(detId);
186  if (itr == corrFactor_.end()) {
187  corrFactor_[detId] = cfac;
188  ndets++;
189  }
190  }
191  infile.close();
192  edm::LogInfo("RecAnalyzer") << "Reads " << nrec
193  << " correction factors for " << ndets
194  << " detIds";
195  theRecalib_ = (ndets>0);
196  }
197 
198  edm::LogInfo("RecAnalyzer") << " Flags (ReCalib): " << theRecalib_
199  << " (IgnoreL1): " << ignoreL1_ << " (NZS) "
200  << runNZS_ << " and with " << ieta.size()
201  << " detId for full histogram";
202  edm::LogInfo("RecAnalyzer") << "Thresholds for HB " << eLowHB_ << ":"
203  << eHighHB_ << " for HE " << eLowHE_ << ":"
204  << eHighHE_ << " for HF " << eLowHF_ << ":"
205  << eHighHF_;
206  for (unsigned int k=0; k<ieta.size(); ++k) {
207  HcalSubdetector subd = ((std::abs(ieta[k]) > 29) ? HcalForward :
208  (std::abs(ieta[k]) > 16) ? HcalEndcap :
209  ((std::abs(ieta[k]) == 16) && (depth[k] == 3)) ? HcalEndcap :
210  (depth[k] == 4) ? HcalOuter : HcalBarrel);
211  unsigned int id = (HcalDetId(subd,ieta[k],iphi[k],depth[k])).rawId();
212  hcalID_.push_back(id);
213  edm::LogInfo("RecAnalyzer") << "DetId[" << k << "] " << HcalDetId(id);
214  }
215  edm::LogInfo("RecAnalyzer") << "Select on " << trigbit_.size()
216  << " L1 Trigger selection";
217  for (unsigned int k=0; k<trigbit_.size(); ++k)
218  edm::LogInfo("RecAnalyzer") << "Bit[" << k << "] " << trigbit_[k];
219 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::vector< int > trigbit_
edm::EDGetTokenT< HFDigiCollection > tok_hfdigi_
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
std::map< DetId, double > corrFactor_
edm::EDGetTokenT< QIE11DigiCollection > tok_qie11digi_
edm::EDGetTokenT< QIE10DigiCollection > tok_qie10digi_
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhedigi_
edm::EDGetTokenT< HFRecHitCollection > tok_hfrecoMB_
HcalSubdetector
Definition: HcalAssistant.h:31
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
int k[5][pyjets_maxn]
edm::EDGetTokenT< HODigiCollection > tok_hodigi_
std::vector< unsigned int > hcalID_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbherecoMB_
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > tok_gtRec_
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_hltL1GtMap_
RecAnalyzerMinbias::~RecAnalyzerMinbias ( )
override

Definition at line 221 of file RecAnalyzerMinbias.cc.

221 {}

Member Function Documentation

void RecAnalyzerMinbias::analyze ( edm::Event const &  ,
edm::EventSetup const &   
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 435 of file RecAnalyzerMinbias.cc.

References ecalMGPA::adc(), analyzeHcal(), extraHist_, spr::find(), particlelevel_cff::genEventInfo, edm::Event::getByToken(), L1GlobalTriggerObjectMapRecord::gtObjectMap(), h_AmplitudeHB_, h_AmplitudeHBtest_, h_AmplitudeHE_, h_AmplitudeHEtest_, h_AmplitudeHF_, h_AmplitudeHFtest_, HBHEsize, HcalBarrel, HcalEndcap, HcalForward, HFsize, mps_fire::i, ignoreL1_, edm::HandleBase::isValid(), myTree1_, convertSQLiteXML::ok, edm::Handle< T >::product(), mathSSE::return(), rnnum_, edm::Event::run(), runNZS_, TauGenJetsDecayModeSelectorAllHadrons_cfi::select, edm::SortedCollection< T, SORT >::size(), tok_ew_, tok_hbhedigi_, tok_hbherecoMB_, tok_hfdigi_, tok_hfrecoMB_, tok_hltL1GtMap_, tok_qie10digi_, tok_qie11digi_, trigbit_, and GenEventInfoProduct::weight().

435  {
436 
437  rnnum_ = (double)iEvent.run();
438 
439  if (extraHist_) {
440  double amplitudefullHB(0), amplitudefullHE(0), amplitudefullHF(0);
442  iEvent.getByToken(tok_hbhedigi_,hbhedigi);
443  if (hbhedigi.isValid()) {
444  for (auto const& digi : *(hbhedigi.product())) {
445  int nTS = digi.size();
446  double amplitudefullTSs = 0.;
447  if (digi.id().subdet()==HcalBarrel) {
448  if (nTS <= 10) {
449  for (int i=0; i<nTS; i++)
450  amplitudefullTSs += digi.sample(i).adc();
451  h_AmplitudeHBtest_->Fill(amplitudefullTSs);
452  amplitudefullHB += amplitudefullTSs;
453  }
454  }
455  if (digi.id().subdet()==HcalEndcap) {
456  if (nTS<=10) {
457  for (int i=0; i<nTS; i++)
458  amplitudefullTSs += digi.sample(i).adc();
459  h_AmplitudeHEtest_->Fill(amplitudefullTSs);
460  amplitudefullHE += amplitudefullTSs;
461  }
462  }
463  }
464  }
465 
467  iEvent.getByToken(tok_qie11digi_,qie11digi);
468  if (qie11digi.isValid()) {
469  for (QIE11DataFrame const& digi : *(qie11digi.product())) {
470  double amplitudefullTSs = 0.;
471  if (HcalDetId(digi.id()).subdet()==HcalBarrel) {
472  for (int i=0; i<digi.samples(); i++)
473  amplitudefullTSs += digi[i].adc();
474  h_AmplitudeHBtest_->Fill(amplitudefullTSs);
475  amplitudefullHB += amplitudefullTSs;
476  }
477  if (HcalDetId(digi.id()).subdet()==HcalEndcap) {
478  for (int i=0; i<digi.samples(); i++)
479  amplitudefullTSs += digi[i].adc();
480  h_AmplitudeHEtest_->Fill(amplitudefullTSs);
481  amplitudefullHE += amplitudefullTSs;
482  }
483  }
484  }
485 
487  iEvent.getByToken(tok_hfdigi_,hfdigi);
488  if (hfdigi.isValid()) {
489  for (auto const& digi : *(hfdigi.product())) {
490  int nTS = digi.size();
491  double amplitudefullTSs = 0.;
492  if (digi.id().subdet()==HcalForward) {
493  if (nTS <= 10) {
494  for (int i=0; i<nTS; i++)
495  amplitudefullTSs += digi.sample(i).adc();
496  h_AmplitudeHFtest_->Fill(amplitudefullTSs);
497  amplitudefullHF += amplitudefullTSs;
498  }
499  }
500  }
501  }
502 
504  iEvent.getByToken(tok_qie10digi_,qie10digi);
505  if (qie10digi.isValid()) {
506  for (QIE10DataFrame const& digi : *(qie10digi.product())) {
507  double amplitudefullTSs = 0.;
508  if (HcalDetId(digi.id()).subdet()==HcalForward) {
509  for (int i=0; i<digi.samples(); i++)
510  amplitudefullTSs += digi[i].adc();
511  h_AmplitudeHFtest_->Fill(amplitudefullTSs);
512  amplitudefullHF += amplitudefullTSs;
513  }
514  }
515  }
516 
517  h_AmplitudeHB_->Fill(amplitudefullHB);
518  h_AmplitudeHE_->Fill(amplitudefullHE);
519  h_AmplitudeHF_->Fill(amplitudefullHF);
520  }
521 
523  iEvent.getByToken(tok_hbherecoMB_, hbheMB);
524  if (!hbheMB.isValid()) {
525  edm::LogWarning("RecAnalyzer") << "HcalCalibAlgos: Error! can't get hbhe product!";
526  return ;
527  }
528  const HBHERecHitCollection HithbheMB = *(hbheMB.product());
529  HBHEsize = HithbheMB.size();
530  edm::LogVerbatim("RecAnalyzer") << "HBHE MB size of collection "
531  << HithbheMB.size();
532  if (HithbheMB.size() < 5100 && runNZS_) {
533  edm::LogWarning("RecAnalyzer") << "HBHE problem " << rnnum_ << " size "
534  << HBHEsize;
535  }
536 
538  iEvent.getByToken(tok_hfrecoMB_, hfMB);
539  if (!hfMB.isValid()) {
540  edm::LogWarning("RecAnalyzer") << "HcalCalibAlgos: Error! can't get hf product!";
541  return;
542  }
543  const HFRecHitCollection HithfMB = *(hfMB.product());
544  edm::LogVerbatim("RecAnalyzer") << "HF MB size of collection "
545  << HithfMB.size();
546  HFsize = HithfMB.size();
547  if (HithfMB.size() < 1700 && runNZS_) {
548  edm::LogWarning("RecAnalyzer") << "HF problem " << rnnum_ << " size "
549  << HFsize;
550  }
551 
552  bool select(false);
553  if (!trigbit_.empty()) {
555  iEvent.getByToken(tok_hltL1GtMap_, gtObjectMapRecord);
556  if (gtObjectMapRecord.isValid()) {
557  const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtObjectMapRecord->gtObjectMap();
558  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
559  itMap != objMapVec.end(); ++itMap) {
560  bool resultGt = (*itMap).algoGtlResult();
561  if (resultGt) {
562  int algoBit = (*itMap).algoBitNumber();
563  if (std::find(trigbit_.begin(),trigbit_.end(),algoBit) !=
564  trigbit_.end()) {
565  select = true;
566  break;
567  }
568  }
569  }
570  }
571  }
572 
573  if (!trigbit_.empty() || select) myTree1_->Fill();
574 
575  //event weight for FLAT sample and PU information
576  double eventWeight = 1.0;
578  iEvent.getByToken(tok_ew_, genEventInfo);
579  if (genEventInfo.isValid()) eventWeight = genEventInfo->weight();
580 #ifdef EDM_ML_DEBUG
581  edm::LogVerbatim("RecAnalyzer") << "Test HB " << HBHEsize << " HF "
582  << HFsize << " Trigger " << trigbit_.size()
583  << ":" << select << ":" << ignoreL1_
584  << " Wt " << eventWeight;
585 #endif
586  if (ignoreL1_ || (!trigbit_.empty() && select)) {
587  analyzeHcal(HithbheMB, HithfMB, 1, true, eventWeight);
588  } else if ((!ignoreL1_) && (trigbit_.empty())) {
590  iEvent.getByToken(tok_hltL1GtMap_, gtObjectMapRecord);
591  if (gtObjectMapRecord.isValid()) {
592  const std::vector<L1GlobalTriggerObjectMap>& objMapVec = gtObjectMapRecord->gtObjectMap();
593  bool ok(false);
594  for (std::vector<L1GlobalTriggerObjectMap>::const_iterator itMap = objMapVec.begin();
595  itMap != objMapVec.end(); ++itMap) {
596  bool resultGt = (*itMap).algoGtlResult();
597  if (resultGt) {
598  int algoBit = (*itMap).algoBitNumber();
599  analyzeHcal(HithbheMB, HithfMB, algoBit, (!ok), eventWeight);
600  ok = true;
601  }
602  }
603  if (!ok) {
604  edm::LogInfo("RecAnalyzer") << "No passed L1 Trigger found";
605  }
606  }
607  }
608 }
int adc(sample_type sample)
get the ADC sample (12 bits)
std::vector< int > trigbit_
edm::EDGetTokenT< HFDigiCollection > tok_hfdigi_
edm::EDGetTokenT< GenEventInfoProduct > tok_ew_
edm::EDGetTokenT< QIE11DigiCollection > tok_qie11digi_
double weight() const
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
const std::vector< L1GlobalTriggerObjectMap > & gtObjectMap() const
get / set the vector of object maps
return((rh^lh)&mask)
edm::EDGetTokenT< QIE10DigiCollection > tok_qie10digi_
int iEvent
Definition: GenABIO.cc:230
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhedigi_
edm::EDGetTokenT< HFRecHitCollection > tok_hfrecoMB_
bool isValid() const
Definition: HandleBase.h:74
void analyzeHcal(const HBHERecHitCollection &, const HFRecHitCollection &, int, bool, double)
T const * product() const
Definition: Handle.h:81
edm::EDGetTokenT< HBHERecHitCollection > tok_hbherecoMB_
size_type size() const
edm::EDGetTokenT< L1GlobalTriggerObjectMapRecord > tok_hltL1GtMap_
void RecAnalyzerMinbias::analyzeHcal ( const HBHERecHitCollection HithbheMB,
const HFRecHitCollection HithfMB,
int  algoBit,
bool  fill,
double  weight 
)
private

Definition at line 610 of file RecAnalyzerMinbias.cc.

References edm::SortedCollection< T, SORT >::begin(), corrFactor_, KineDebug3::count(), DEFINE_FWK_MODULE, eHighHB_, eHighHE_, eHighHF_, eLowHB_, eLowHE_, eLowHF_, eMin_, edm::SortedCollection< T, SORT >::end(), CaloRecHit::energy(), fillHist_, h_, hb_, hbhe_, hbherun_, hbrun_, HcalBarrel, HcalEndcap, hcalID_, he_, herun_, hf_, hfrun_, histHC_, histo_, mps_fire::i, HcalDetId::ieta(), info(), HcalDetId::iphi(), myMap_, Noise_, DetId::rawId(), rnnum_, runNZS_, HcalDetId::subdet(), theRecalib_, and mps_merge::weight.

Referenced by analyze(), and endRun().

612  {
613  // Signal part for HB HE
614  int count(0), countHB(0), countHE(0), count2(0), count2HB(0), count2HE(0);
615  for (HBHERecHitCollection::const_iterator hbheItr=HithbheMB.begin();
616  hbheItr!=HithbheMB.end(); hbheItr++) {
617  // Recalibration of energy
618  DetId mydetid = hbheItr->id().rawId();
619  double icalconst(1.);
620  if (theRecalib_) {
621  std::map<DetId,double>::iterator itr = corrFactor_.find(mydetid);
622  if (itr != corrFactor_.end()) icalconst = itr->second;
623  }
624  HBHERecHit aHit(hbheItr->id(),hbheItr->energy()*icalconst,hbheItr->time());
625  double energyhit = aHit.energy();
626  DetId id = (*hbheItr).detid();
627  HcalDetId hid = HcalDetId(id);
628  double eLow = (hid.subdet() == HcalEndcap) ? eLowHE_ : eLowHB_;
629  double eHigh = (hid.subdet() == HcalEndcap) ? eHighHE_ : eHighHB_;
630  ++count;
631  if (id.subdetId() == HcalBarrel) ++countHB;
632  else ++countHE;
633  if (fill) {
634  for (unsigned int i = 0; i < hcalID_.size(); i++) {
635  if (hcalID_[i] == id.rawId()) {
636  histo_[i]->Fill(energyhit);
637  break;
638  }
639  }
640  if (fillHist_) {
641  std::map<HcalDetId,TH1D*>::iterator itr1 = histHC_.find(hid);
642  if (itr1 != histHC_.end()) itr1->second->Fill(energyhit);
643  }
644  h_[hid.subdet()-1]->Fill(energyhit);
645  if (energyhit > eMin_) {
646  hbhe_->Fill(hid.ieta(),hid.iphi());
647  ++count2;
648  if (id.subdetId() == HcalBarrel) {
649  ++count2HB;
650  hb_->Fill(hid.ieta(),hid.iphi());
651  } else {
652  ++count2HE;
653  he_->Fill(hid.ieta(),hid.iphi());
654  }
655  }
656  }
657  if (!fillHist_) {
658  if (Noise_ || runNZS_ || (energyhit >= eLow && energyhit <= eHigh)) {
659  std::map<std::pair<int,HcalDetId>,myInfo>::iterator itr1 = myMap_.find(std::pair<int,HcalDetId>(algoBit,hid));
660  if (itr1 == myMap_.end()) {
661  myInfo info;
662  myMap_[std::pair<int,HcalDetId>(algoBit,hid)] = info;
663  itr1 = myMap_.find(std::pair<int,HcalDetId>(algoBit,hid));
664  }
665  itr1->second.theMB0 += weight;
666  itr1->second.theMB1 += (weight*energyhit);
667  itr1->second.theMB2 += (weight*energyhit*energyhit);
668  itr1->second.theMB3 += (weight*energyhit*energyhit*energyhit);
669  itr1->second.theMB4 += (weight*energyhit*energyhit*energyhit*energyhit);
670  itr1->second.runcheck = rnnum_;
671  }
672  }
673  } // HBHE_MB
674  if (fill) {
675  if (count > 0) hbherun_->Fill(rnnum_ ,(double)(count2)/count);
676  if (countHB > 0) hbrun_->Fill(rnnum_ ,(double)(count2HB)/countHB);
677  if (countHE > 0) herun_->Fill(rnnum_ ,(double)(count2HE)/countHE);
678  }
679 #ifdef EDM_ML_DEBUG
680  edm::LogVerbatim("RecAnalyzer") << "HBHE " << count2 << ":" << count << ":"
681  << (double)(count2)/count << "\t HB "
682  << count2HB << ":" << countHB << ":"
683  << (double)(count2HB)/countHB << "\t HE "
684  << count2HE << ":" << countHE << ":"
685  << (double)(count2HE)/countHE;
686 #endif
687  int countHF(0), count2HF(0);
688  // Signal part for HF
689  for (HFRecHitCollection::const_iterator hfItr=HithfMB.begin();
690  hfItr!=HithfMB.end(); hfItr++) {
691  // Recalibration of energy
692  DetId mydetid = hfItr->id().rawId();
693  double icalconst(1.);
694  if (theRecalib_) {
695  std::map<DetId,double>::iterator itr = corrFactor_.find(mydetid);
696  if (itr != corrFactor_.end()) icalconst = itr->second;
697  }
698  HFRecHit aHit(hfItr->id(),hfItr->energy()*icalconst,hfItr->time());
699 
700  double energyhit = aHit.energy();
701  DetId id = (*hfItr).detid();
702  HcalDetId hid = HcalDetId(id);
703  ++countHF;
704  if (fill) {
705  for (unsigned int i = 0; i < hcalID_.size(); i++) {
706  if (hcalID_[i] == id.rawId()) {
707  histo_[i]->Fill(energyhit);
708  break;
709  }
710  }
711  if (fillHist_) {
712  std::map<HcalDetId,TH1D*>::iterator itr1 = histHC_.find(hid);
713  if (itr1 != histHC_.end()) itr1->second->Fill(energyhit);
714  }
715  h_[hid.subdet()-1]->Fill(energyhit);
716  if (energyhit > eMin_) {
717  hf_->Fill(hid.ieta(),hid.iphi());
718  ++count2HF;
719  }
720  }
721 
722  //
723  // Remove PMT hits
724  //
725  if (!fillHist_) {
726  if (((Noise_ || runNZS_) && fabs(energyhit) <= 40.) ||
727  (energyhit >= eLowHF_ && energyhit <= eHighHF_)) {
728  std::map<std::pair<int,HcalDetId>,myInfo>::iterator itr1 = myMap_.find(std::pair<int,HcalDetId>(algoBit,hid));
729  if (itr1 == myMap_.end()) {
730  myInfo info;
731  myMap_[std::pair<int,HcalDetId>(algoBit,hid)] = info;
732  itr1 = myMap_.find(std::pair<int,HcalDetId>(algoBit,hid));
733  }
734  itr1->second.theMB0 += weight;
735  itr1->second.theMB1 += (weight*energyhit);
736  itr1->second.theMB2 += (weight*energyhit*energyhit);
737  itr1->second.theMB3 += (weight*energyhit*energyhit*energyhit);
738  itr1->second.theMB4 += (weight*energyhit*energyhit*energyhit*energyhit);
739  itr1->second.runcheck = rnnum_;
740  }
741  }
742  }
743  if (fill && countHF > 0) hfrun_->Fill(rnnum_ ,(double)(count2HF)/countHF);
744 #ifdef EDM_ML_DEBUG
745  if (count)
746  edm::LogVerbatim("RecAnalyzer") << "HF " << count2HF << ":" << countHF
747  << ":" << (double)(count2HF)/countHF;
748 #endif
749 }
constexpr float energy() const
Definition: CaloRecHit.h:31
static const TGPicture * info(bool iBackgroundIsBlack)
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:146
std::map< HcalDetId, TH1D * > histHC_
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:50
std::vector< HBHERecHit >::const_iterator const_iterator
std::map< DetId, double > corrFactor_
Definition: weight.py:1
std::vector< TH1D * > histo_
int ieta() const
get the cell ieta
Definition: HcalDetId.h:159
const_iterator end() const
int iphi() const
get the cell iphi
Definition: HcalDetId.h:161
Definition: DetId.h:18
std::vector< unsigned int > hcalID_
std::map< std::pair< int, HcalDetId >, myInfo > myMap_
const_iterator begin() const
void RecAnalyzerMinbias::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 255 of file RecAnalyzerMinbias.cc.

References cells, depth, eMin_, extraHist_, fillHist_, fs_, h_, h_AmplitudeHB_, h_AmplitudeHBtest_, h_AmplitudeHE_, h_AmplitudeHEtest_, h_AmplitudeHF_, h_AmplitudeHFtest_, hb_, hbhe_, hbherun_, HBHEsize, hbrun_, AnalysisDataFormats_SUSYBSMObjects::hc, hcalID_, he_, herun_, hf_, hfrun_, HFsize, histo_, ieta, iphi, TFileService::make(), mom0_MB, mom1_MB, mom2_MB, mom3_MB, mom4_MB, myMap_, mysubd, myTree1_, myTree_, dataset::name, rnnum_, rnnumber, runMax_, runMin_, AlCaHLTBitMon_QueryRunRegistry::string, fftjetcommon_cfi::title, trigbit, TrackerOfflineValidation_Dqm_cff::xmax, and TrackerOfflineValidation_Dqm_cff::xmin.

255  {
256 
257  std::string hc[5] = {"Empty", "HB", "HE", "HO", "HF"};
258  char name[700], title[700];
259  hbhe_ = fs_->make<TH2D>("hbhe","Noise in HB/HE",61,-30.5,30.5,72,0.5,72.5);
260  hb_ = fs_->make<TH2D>("hb", "Noise in HB",61,-16.5,16.5,72,0.5,72.5);
261  he_ = fs_->make<TH2D>("he", "Noise in HE",61,-30.5,30.5,72,0.5,72.5);
262  hf_ = fs_->make<TH2D>("hf", "Noise in HF",82,-41.5,41.5,72,0.5,72.5);
263  int nbin = (runMax_-runMin_+1);
264  sprintf (title, "Fraction of channels in HB/HE with E > %4.1f GeV vs Run number", eMin_);
265  hbherun_ = fs_->make<TProfile>("hbherun",title,nbin,runMin_-0.5,runMax_+0.5,0.0,1.0);
266  sprintf (title, "Fraction of channels in HB with E > %4.1f GeV vs Run number", eMin_);
267  hbrun_ = fs_->make<TProfile>("hbrun",title,nbin,runMin_-0.5,runMax_+0.5,0.0,1.0);
268  sprintf (title, "Fraction of channels in HE with E > %4.1f GeV vs Run number", eMin_);
269  herun_ = fs_->make<TProfile>("herun",title,nbin,runMin_-0.5,runMax_+0.5,0.0,1.0);
270  sprintf (title, "Fraction of channels in HF with E > %4.1f GeV vs Run number", eMin_);
271  hfrun_ = fs_->make<TProfile>("hfrun",title,nbin,runMin_-0.5,runMax_+0.5,0.0,1.0);
272  for(int idet=1; idet<=4; idet++){
273  sprintf(name, "%s", hc[idet].c_str());
274  sprintf (title, "Noise distribution for %s", hc[idet].c_str());
275  h_[idet-1] = fs_->make<TH1D>(name,title,48,-6., 6.);
276  }
277 
278  for (const auto & hcalid : hcalID_) {
279  HcalDetId id = HcalDetId(hcalid);
280  int subdet = id.subdetId();
281  sprintf (name, "%s%d_%d_%d", hc[subdet].c_str(), id.ieta(), id.iphi(), id.depth());
282  sprintf (title, "Energy Distribution for %s ieta %d iphi %d depth %d", hc[subdet].c_str(), id.ieta(), id.iphi(), id.depth());
283  double xmin = (subdet == 4) ? -10 : -1;
284  double xmax = (subdet == 4) ? 90 : 9;
285  TH1D* hh = fs_->make<TH1D>(name, title, 50, xmin, xmax);
286  histo_.push_back(hh);
287  };
288 
289  if (extraHist_) {
290  h_AmplitudeHBtest_ = fs_->make<TH1D>("h_AmplitudeHBtest","",5000,0.,5000.);
291  h_AmplitudeHEtest_ = fs_->make<TH1D>("h_AmplitudeHEtest","",3000,0.,3000.);
292  h_AmplitudeHFtest_ = fs_->make<TH1D>("h_AmplitudeHFtest","",10000,0.,10000.);
293  h_AmplitudeHB_ = fs_->make<TH1D>("h_AmplitudeHB", "", 100000,0.,100000.);
294  h_AmplitudeHE_ = fs_->make<TH1D>("h_AmplitudeHE", "", 300000,0.,300000.);
295  h_AmplitudeHF_ = fs_->make<TH1D>("h_AmplitudeHF", "", 100000,0.,1000000.);
296  }
297 
298  if (!fillHist_) {
299  myTree_ = fs_->make<TTree>("RecJet","RecJet Tree");
300  myTree_->Branch("cells", &cells, "cells/I");
301  myTree_->Branch("mysubd", &mysubd, "mysubd/I");
302  myTree_->Branch("depth", &depth, "depth/I");
303  myTree_->Branch("ieta", &ieta, "ieta/I");
304  myTree_->Branch("iphi", &iphi, "iphi/I");
305  myTree_->Branch("mom0_MB", &mom0_MB, "mom0_MB/F");
306  myTree_->Branch("mom1_MB", &mom1_MB, "mom1_MB/F");
307  myTree_->Branch("mom2_MB", &mom2_MB, "mom2_MB/F");
308  myTree_->Branch("mom3_MB", &mom3_MB, "mom3_MB/F");
309  myTree_->Branch("mom4_MB", &mom4_MB, "mom4_MB/F");
310  myTree_->Branch("trigbit", &trigbit, "trigbit/I");
311  myTree_->Branch("rnnumber", &rnnumber, "rnnumber/D");
312  }
313  myTree1_ = fs_->make<TTree>("RecJet1","RecJet1 Tree");
314  myTree1_->Branch("rnnum_", &rnnum_, "rnnum_/D");
315  myTree1_->Branch("HBHEsize", &HBHEsize, "HBHEsize/I");
316  myTree1_->Branch("HFsize", &HFsize, "HFsize/I");
317 
318  myMap_.clear();
319  }
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
std::vector< TH1D * > histo_
edm::Service< TFileService > fs_
std::vector< unsigned int > hcalID_
susybsm::HSCParticleCollection hc
Definition: classes.h:25
std::map< std::pair< int, HcalDetId >, myInfo > myMap_
void RecAnalyzerMinbias::beginRun ( edm::Run const &  ,
edm::EventSetup const &  iS 
)
overrideprivate

Definition at line 360 of file RecAnalyzerMinbias.cc.

References depth, eHighHB_, eHighHE_, eHighHF_, PVValHelper::eta, fillHist_, fs_, edm::EventSetup::get(), h, HcalBarrel, HcalEndcap, HcalForward, histHC_, init_, edm::ESHandleBase::isValid(), TFileService::make(), HcalTopology::maxDepthHB(), HcalTopology::maxDepthHE(), dataset::name, Noise_, phi, edm::ESHandle< T >::product(), fftjetcommon_cfi::title, and HcalTopology::valid().

360  {
361 
362  if (!init_) {
363  init_ = true;
364  if (fillHist_) {
366  iS.get<IdealGeometryRecord>().get(htopo);
367  if (htopo.isValid()) {
368  const HcalTopology* hcaltopology = htopo.product();
369 
370  char name[700], title[700];
371  // For HB
372  int maxDepthHB = hcaltopology->maxDepthHB();
373  int nbinHB = (Noise_) ? 18 : int(2000*eHighHB_);
374  double x_min = (Noise_) ? -3. : 0.;
375  double x_max = (Noise_) ? 3. : 2.*eHighHB_;
376  for (int eta = -50; eta < 50; eta++) {
377  for (int phi = 0; phi < 100; phi++) {
378  for (int depth = 1; depth <= maxDepthHB; depth++) {
379  HcalDetId cell (HcalBarrel, eta, phi, depth);
380  if (hcaltopology->valid(cell)) {
381  sprintf (name, "HBeta%dphi%ddep%d", eta, phi, depth);
382  sprintf (title,"HB #eta %d #phi %d depth %d", eta, phi, depth);
383  TH1D* h = fs_->make<TH1D>(name, title, nbinHB, x_min, x_max);
384  histHC_[cell] = h;
385  }
386  }
387  }
388  }
389  // For HE
390  int maxDepthHE = hcaltopology->maxDepthHE();
391  int nbinHE = (Noise_) ? 18 : int(2000*eHighHE_);
392  x_min = (Noise_) ? -3. : 0.;
393  x_max = (Noise_) ? 3. : 2.*eHighHE_;
394  for (int eta = -50; eta < 50; eta++) {
395  for (int phi = 0; phi < 100; phi++) {
396  for (int depth = 1; depth <= maxDepthHE; depth++) {
397  HcalDetId cell (HcalEndcap, eta, phi, depth);
398  if (hcaltopology->valid(cell)) {
399  sprintf (name, "HEeta%dphi%ddep%d", eta, phi, depth);
400  sprintf (title,"HE #eta %d #phi %d depth %d", eta, phi, depth);
401  TH1D* h = fs_->make<TH1D>(name, title, nbinHE, x_min, x_max);
402  histHC_[cell] = h;
403  }
404  }
405  }
406  }
407  // For HF
408  int maxDepthHF = 4;
409  int nbinHF = (Noise_) ? 200 : int(2000*eHighHF_);
410  x_min = (Noise_) ? -10. : 0.;
411  x_max = (Noise_) ? 10. : 2.*eHighHF_;
412  for (int eta = -50; eta < 50; eta++) {
413  for (int phi = 0; phi < 100; phi++) {
414  for (int depth = 1; depth <= maxDepthHF; depth++) {
415  HcalDetId cell (HcalForward, eta, phi, depth);
416  if (hcaltopology->valid(cell)) {
417  sprintf (name, "HFeta%dphi%ddep%d", eta, phi, depth);
418  sprintf (title,"Energy (HF #eta %d #phi %d depth %d)", eta, phi, depth);
419  TH1D* h = fs_->make<TH1D>(name, title, nbinHF, x_min, x_max);
420  histHC_[cell] = h;
421  }
422  }
423  }
424  }
425  }
426  }
427  }
428 }
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
std::map< HcalDetId, TH1D * > histHC_
bool valid(const DetId &id) const override
int maxDepthHE() const
Definition: HcalTopology.h:146
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
edm::Service< TFileService > fs_
int maxDepthHB() const
Definition: HcalTopology.h:145
bool isValid() const
Definition: ESHandle.h:45
T const * product() const
Definition: ESHandle.h:84
void RecAnalyzerMinbias::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 323 of file RecAnalyzerMinbias.cc.

References cells, depth, fillHist_, ieta, info(), iphi, mom0_MB, mom1_MB, mom2_MB, mom3_MB, mom4_MB, myMap_, mysubd, myTree_, rnnumber, RecAnalyzerMinbias::myInfo::runcheck, RecAnalyzerMinbias::myInfo::theMB0, RecAnalyzerMinbias::myInfo::theMB1, RecAnalyzerMinbias::myInfo::theMB2, RecAnalyzerMinbias::myInfo::theMB3, RecAnalyzerMinbias::myInfo::theMB4, and trigbit.

Referenced by o2olib.O2ORunMgr::executeJob().

323  {
324 
325  if (!fillHist_) {
326  cells = 0;
327  for (const auto& itr : myMap_) {
328  edm::LogVerbatim("RecAnalyzer") << "Fired trigger bit number "
329  << itr.first.first;
330  myInfo info = itr.second;
331  if (info.theMB0 > 0) {
332  mom0_MB = info.theMB0;
333  mom1_MB = info.theMB1;
334  mom2_MB = info.theMB2;
335  mom3_MB = info.theMB3;
336  mom4_MB = info.theMB4;
337  rnnumber = info.runcheck;
338  trigbit = itr.first.first;
339  mysubd = itr.first.second.subdet();
340  depth = itr.first.second.depth();
341  iphi = itr.first.second.iphi();
342  ieta = itr.first.second.ieta();
343  edm::LogVerbatim("RecAnalyzer") << " Result= " << trigbit << " "
344  << mysubd << " " << ieta << " " << iphi
345  << " mom0 " << mom0_MB << " mom1 "
346  << mom1_MB << " mom2 " << mom2_MB
347  << " mom3 " << mom3_MB << " mom4 "
348  << mom4_MB;
349  myTree_->Fill();
350  cells++;
351  }
352  }
353  edm::LogVerbatim("RecAnalyzer") << "cells" << " " << cells;
354  }
355 #ifdef EDM_ML_DEBUG
356  edm::LogVerbatim("RecAnalyzer") << "Exiting from RecAnalyzerMinbias::endjob";
357 #endif
358 }
static const TGPicture * info(bool iBackgroundIsBlack)
std::map< std::pair< int, HcalDetId >, myInfo > myMap_
void RecAnalyzerMinbias::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 81 of file RecAnalyzerMinbias.cc.

References analyzeHcal().

81 {}
void RecAnalyzerMinbias::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 223 of file RecAnalyzerMinbias.cc.

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

223  {
224 
225  std::vector<int> iarray;
227  desc.add<bool>("runNZS", true);
228  desc.add<bool>("noise", false);
229  desc.add<double>("eLowHB", 4);
230  desc.add<double>("eHighHB", 100);
231  desc.add<double>("eLowHE", 4);
232  desc.add<double>("eHighHE", 150);
233  desc.add<double>("eLowHF", 10);
234  desc.add<double>("eHighHF", 150);
235  // Suitable cutoff to remove fluctuation of pedestal
236  desc.addUntracked<double>("eMin",2.0);
237  // The following run range is suited to study 2017 commissioning period
238  desc.addUntracked<int>("runMin",308327);
239  desc.addUntracked<int>("runMax",308347);
240  desc.addUntracked<std::vector<int> >("triggerBits", iarray);
241  desc.addUntracked<bool>("ignoreL1", false);
242  desc.addUntracked<std::string>("corrFile", "CorFactor.txt");
243  desc.addUntracked<bool>("fillHisto", false);
244  desc.addUntracked<bool>("extraHisto", false);
245  desc.addUntracked<std::vector<int> >("hcalIeta", iarray);
246  desc.addUntracked<std::vector<int> >("hcalIphi", iarray);
247  desc.addUntracked<std::vector<int> >("hcalDepth", iarray);
248  desc.add<edm::InputTag>("hbheInputMB", edm::InputTag("hbherecoMB"));
249  desc.add<edm::InputTag>("hfInputMB", edm::InputTag("hfrecoMB"));
250  desc.add<edm::InputTag>("gtDigisAlCaMB", edm::InputTag("gtDigisAlCaMB"));
251  desc.add<edm::InputTag>("hcalDigiCollectionTag", edm::InputTag("hcalDigis"));
252  descriptions.add("recAnalyzerMinbias",desc);
253 }
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)

Member Data Documentation

int RecAnalyzerMinbias::cells
private

Definition at line 114 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

std::map<DetId,double> RecAnalyzerMinbias::corrFactor_
private

Definition at line 93 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and RecAnalyzerMinbias().

int RecAnalyzerMinbias::depth
private
double RecAnalyzerMinbias::eHighHB_
private

Definition at line 90 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginRun(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eHighHE_
private

Definition at line 90 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginRun(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eHighHF_
private

Definition at line 91 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginRun(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eLowHB_
private

Definition at line 90 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eLowHE_
private

Definition at line 90 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eLowHF_
private

Definition at line 91 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::eMin_
private

Definition at line 91 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginJob(), and RecAnalyzerMinbias().

bool RecAnalyzerMinbias::extraHist_
private

Definition at line 89 of file RecAnalyzerMinbias.cc.

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

bool RecAnalyzerMinbias::fillHist_
private

Definition at line 89 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginJob(), beginRun(), endJob(), and RecAnalyzerMinbias().

edm::Service<TFileService> RecAnalyzerMinbias::fs_
private

Definition at line 87 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and beginRun().

TH1D* RecAnalyzerMinbias::h_[4]
private

Definition at line 96 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TH1D* RecAnalyzerMinbias::h_AmplitudeHB_
private

Definition at line 100 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH1D* RecAnalyzerMinbias::h_AmplitudeHBtest_
private

Definition at line 98 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH1D * RecAnalyzerMinbias::h_AmplitudeHE_
private

Definition at line 100 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH1D * RecAnalyzerMinbias::h_AmplitudeHEtest_
private

Definition at line 98 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH1D * RecAnalyzerMinbias::h_AmplitudeHF_
private

Definition at line 100 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH1D* RecAnalyzerMinbias::h_AmplitudeHFtest_
private

Definition at line 99 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TH2D * RecAnalyzerMinbias::hb_
private

Definition at line 97 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TH2D* RecAnalyzerMinbias::hbhe_
private

Definition at line 97 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TProfile* RecAnalyzerMinbias::hbherun_
private

Definition at line 101 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

int RecAnalyzerMinbias::HBHEsize
private

Definition at line 116 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TProfile * RecAnalyzerMinbias::hbrun_
private

Definition at line 101 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

std::vector<unsigned int> RecAnalyzerMinbias::hcalID_
private

Definition at line 94 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginJob(), and RecAnalyzerMinbias().

TH2D * RecAnalyzerMinbias::he_
private

Definition at line 97 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TProfile * RecAnalyzerMinbias::herun_
private

Definition at line 101 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TH2D * RecAnalyzerMinbias::hf_
private

Definition at line 97 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

TProfile * RecAnalyzerMinbias::hfrun_
private

Definition at line 101 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

int RecAnalyzerMinbias::HFsize
private

Definition at line 116 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

std::map<HcalDetId,TH1D*> RecAnalyzerMinbias::histHC_
private

Definition at line 103 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginRun().

std::vector<TH1D*> RecAnalyzerMinbias::histo_
private

Definition at line 102 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and beginJob().

int RecAnalyzerMinbias::ieta
private

Definition at line 114 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), endJob(), and RecAnalyzerMinbias().

bool RecAnalyzerMinbias::ignoreL1_
private

Definition at line 88 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

bool RecAnalyzerMinbias::init_
private

Definition at line 89 of file RecAnalyzerMinbias.cc.

Referenced by beginRun().

int RecAnalyzerMinbias::iphi
private

Definition at line 114 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), endJob(), and RecAnalyzerMinbias().

float RecAnalyzerMinbias::mom0_MB
private

Definition at line 115 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

float RecAnalyzerMinbias::mom1_MB
private

Definition at line 115 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

float RecAnalyzerMinbias::mom2_MB
private

Definition at line 115 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

float RecAnalyzerMinbias::mom3_MB
private

Definition at line 115 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

float RecAnalyzerMinbias::mom4_MB
private

Definition at line 115 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

std::map<std::pair<int,HcalDetId>,myInfo> RecAnalyzerMinbias::myMap_
private

Definition at line 117 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginJob(), and endJob().

int RecAnalyzerMinbias::mysubd
private

Definition at line 114 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

TTree * RecAnalyzerMinbias::myTree1_
private

Definition at line 95 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and beginJob().

TTree* RecAnalyzerMinbias::myTree_
private

Definition at line 95 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

bool RecAnalyzerMinbias::Noise_
private

Definition at line 88 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), beginRun(), and RecAnalyzerMinbias().

double RecAnalyzerMinbias::rnnum_
private

Definition at line 105 of file RecAnalyzerMinbias.cc.

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

double RecAnalyzerMinbias::rnnumber
private

Definition at line 113 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

int RecAnalyzerMinbias::runMax_
private

Definition at line 92 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and RecAnalyzerMinbias().

int RecAnalyzerMinbias::runMin_
private

Definition at line 92 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and RecAnalyzerMinbias().

bool RecAnalyzerMinbias::runNZS_
private

Definition at line 88 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), analyzeHcal(), and RecAnalyzerMinbias().

bool RecAnalyzerMinbias::theRecalib_
private

Definition at line 88 of file RecAnalyzerMinbias.cc.

Referenced by analyzeHcal(), and RecAnalyzerMinbias().

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

Definition at line 121 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> RecAnalyzerMinbias::tok_gtRec_
private

Definition at line 127 of file RecAnalyzerMinbias.cc.

Referenced by RecAnalyzerMinbias().

edm::EDGetTokenT<HBHEDigiCollection> RecAnalyzerMinbias::tok_hbhedigi_
private

Definition at line 122 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<HBHERecHitCollection> RecAnalyzerMinbias::tok_hbherecoMB_
private

Definition at line 118 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<HFDigiCollection> RecAnalyzerMinbias::tok_hfdigi_
private

Definition at line 125 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<HFRecHitCollection> RecAnalyzerMinbias::tok_hfrecoMB_
private

Definition at line 119 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<L1GlobalTriggerObjectMapRecord> RecAnalyzerMinbias::tok_hltL1GtMap_
private

Definition at line 120 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<HODigiCollection> RecAnalyzerMinbias::tok_hodigi_
private

Definition at line 124 of file RecAnalyzerMinbias.cc.

Referenced by RecAnalyzerMinbias().

edm::EDGetTokenT<QIE10DigiCollection> RecAnalyzerMinbias::tok_qie10digi_
private

Definition at line 126 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

edm::EDGetTokenT<QIE11DigiCollection> RecAnalyzerMinbias::tok_qie11digi_
private

Definition at line 123 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().

int RecAnalyzerMinbias::trigbit
private

Definition at line 114 of file RecAnalyzerMinbias.cc.

Referenced by beginJob(), and endJob().

std::vector<int> RecAnalyzerMinbias::trigbit_
private

Definition at line 104 of file RecAnalyzerMinbias.cc.

Referenced by analyze(), and RecAnalyzerMinbias().