CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
CaloTowerAnalyzer Class Reference

#include <CaloTowerAnalyzer.h>

Inheritance diagram for CaloTowerAnalyzer:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 CaloTowerAnalyzer (const edm::ParameterSet &)
 
virtual void dqmbeginRun (const edm::Run &, const edm::EventSetup &)
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () 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)
 

Private Attributes

bool allhist_
 
edm::EDGetTokenT< edm::View< reco::Candidate > > caloTowersLabel_
 
bool debug_
 
double energyThreshold_
 
bool finebinning_
 
std::string FolderName_
 
edm::EDGetTokenT< bool > HBHENoiseFilterResultLabel_
 
MonitorElementhCT_emEt_ieta_iphi
 
MonitorElementhCT_emEtvsieta
 
MonitorElementhCT_et_ieta_iphi
 
MonitorElementhCT_etvsieta
 
MonitorElementhCT_hadEt_ieta_iphi
 
MonitorElementhCT_hadEtvsieta
 
MonitorElementhCT_Maxetvsieta
 
MonitorElementhCT_METPhivsieta
 
MonitorElementhCT_METvsieta
 
MonitorElementhCT_MExvsieta
 
MonitorElementhCT_MEyvsieta
 
MonitorElementhCT_Minetvsieta
 
MonitorElementhCT_Nevents
 
std::vector< MonitorElement * > hCT_NEvents_HLT
 
MonitorElementhCT_Occ_EM_Et_ieta_iphi
 
MonitorElementhCT_Occ_HAD_Et_ieta_iphi
 
MonitorElementhCT_Occ_ieta_iphi
 
MonitorElementhCT_Occ_Outer_Et_ieta_iphi
 
MonitorElementhCT_Occvsieta
 
MonitorElementhCT_outerEt_ieta_iphi
 
MonitorElementhCT_outerEtvsieta
 
MonitorElementhCT_SETvsieta
 
std::vector< edm::InputTagHLTBitLabel_
 
edm::EDGetTokenT< edm::TriggerResultsHLTResultsLabel_
 
bool hltselection_
 
int Nevents
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 24 of file CaloTowerAnalyzer.h.

Constructor & Destructor Documentation

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

Definition at line 62 of file CaloTowerAnalyzer.cc.

References edm::ParameterSet::exists(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), and AlCaHLTBitMon_QueryRunRegistry::string.

63 {
64 
65  caloTowersLabel_ = consumes<edm::View<reco::Candidate> > (iConfig.getParameter<edm::InputTag>("CaloTowersLabel"));
66  HLTResultsLabel_ = consumes<edm::TriggerResults> (iConfig.getParameter<edm::InputTag>("HLTResultsLabel"));
67  HBHENoiseFilterResultLabel_ = consumes<bool> (iConfig.getParameter<edm::InputTag>("HBHENoiseFilterResultLabel"));
68 
69  if(iConfig.exists("HLTBitLabels"))
70  HLTBitLabel_ = iConfig.getParameter<std::vector<edm::InputTag> >("HLTBitLabels");
71 
72  debug_ = iConfig.getParameter<bool>("Debug");
73  finebinning_ = iConfig.getUntrackedParameter<bool>("FineBinning");
74  allhist_ = iConfig.getUntrackedParameter<bool>("AllHist");
75  FolderName_ = iConfig.getUntrackedParameter<std::string>("FolderName");
76 
77  hltselection_ = iConfig.getUntrackedParameter<bool>("HLTSelection");
78 
79 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool exists(std::string const &parameterName) const
checks if a parameter exists
edm::EDGetTokenT< bool > HBHENoiseFilterResultLabel_
edm::EDGetTokenT< edm::TriggerResults > HLTResultsLabel_
edm::EDGetTokenT< edm::View< reco::Candidate > > caloTowersLabel_
std::vector< edm::InputTag > HLTBitLabel_
std::string FolderName_

Member Function Documentation

void CaloTowerAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 188 of file CaloTowerAnalyzer.cc.

References edm::HLTGlobalStatus::accept(), CaloTower::emEt(), edm::HLTGlobalStatus::error(), CaloTower::et(), edm::Event::getByToken(), CaloTower::hadEt(), mps_fire::i, CaloTower::id(), CaloTowerDetId::ieta(), CaloTowerDetId::iphi(), edm::HandleBase::isValid(), diffTwoXMLs::label, LogDebug, CaloTower::outerEt(), colinearityKinematic::Phi, reco::LeafCandidate::phi(), reco::tau::disc::Pt(), findQualityFiles::size, edm::TriggerNames::triggerIndex(), and edm::Event::triggerNames().

189 {
190 
191 
192  // Get HLT Results
193  edm::Handle<edm::TriggerResults> TheHLTResults;
194  iEvent.getByToken( HLTResultsLabel_ , TheHLTResults);
195 
196  // **** Get the TriggerResults container
197  //triggerResultsToken_= consumes<edm::TriggerResults>(edm::InputTag(theTriggerResultsLabel));
198  //edm::Handle<edm::TriggerResults> triggerResults;
199  //iEvent.getByToken(triggerResultsToken_, triggerResults);
200 
201 
202  bool EventPasses = true;
203  // Make sure handle is valid
204  if( TheHLTResults.isValid() && hltselection_ )
205  {
206 
207  //Get HLT Names
208  const edm::TriggerNames & TheTriggerNames = iEvent.triggerNames(*TheHLTResults);
209 
210  for( unsigned int index = 0 ; index < HLTBitLabel_.size(); index++)
211  {
212  if( !HLTBitLabel_[index].label().empty() )
213  {
214  //Change the default value since HLT requirement has been issued by the user
215  if( index == 0 ) EventPasses = false;
216  //Get the HLT bit and check to make sure it is valid
217  unsigned int bit = TheTriggerNames.triggerIndex( HLTBitLabel_[index].label());
218  if( bit < TheHLTResults->size() )
219  {
220  //If any of the HLT names given by the user accept, then the event passes
221  if( TheHLTResults->accept( bit ) && !TheHLTResults->error( bit ) )
222  {
223  EventPasses = true;
224  hCT_NEvents_HLT[index]->Fill(1);
225  }
226  else
227  hCT_NEvents_HLT[index]->Fill(0);
228  }
229  else
230  {
231  edm::LogInfo("OutputInfo")
232  << "The HLT Trigger Name : " << HLTBitLabel_[index].label() << " is not valid for this trigger table " << std::endl;
233  }
234  }
235  }
236  }
237 
238  if( !EventPasses && hltselection_ )
239  return;
240 
241  //----------GREG & CHRIS' idea---///
242  float ETTowerMin = -1; //GeV
243  float METRingMin = -2; // GeV
244 
245  Nevents++;
246  hCT_Nevents->Fill(0);
247 
248  // ==========================================================
249  // Retrieve!
250  // ==========================================================
251 
253  iEvent.getByToken(caloTowersLabel_, towers);
254 
255  if( (!towers.isValid())) {
256  //DD:fix print label
257  //edm::LogInfo("")<<"CaloTowers "<< caloTowersLabel_<<" not found!"<<std::endl;
258  return;
259  }
260 
261  //HBHENoiseFilterResultToken_=consumes<HBHENoiseFilter>(edm::InputTag(HBHENoiseFilterResultLabel_));
262  edm::Handle<bool> HBHENoiseFilterResultHandle;
263  iEvent.getByToken(HBHENoiseFilterResultLabel_, HBHENoiseFilterResultHandle);
264  bool HBHENoiseFilterResult = *HBHENoiseFilterResultHandle;
265  if (!HBHENoiseFilterResultHandle.isValid()) {
266  LogDebug("") << "CaloTowerAnalyzer: Could not find HBHENoiseFilterResult" << std::endl;
267  }
268 
269 
270  bool bHcalNoiseFilter = HBHENoiseFilterResult;
271 
272  if(!bHcalNoiseFilter) return;
273 
274  edm::View<Candidate>::const_iterator towerCand = towers->begin();
275 
276  // ==========================================================
277  // Fill Histograms!
278  // ==========================================================
279 
280  int CTmin_iphi = 99, CTmax_iphi = -99;
281  int CTmin_ieta = 99, CTmax_ieta = -99;
282 
283  TLorentzVector vMET_EtaRing[83];
284  int ActiveRing[83];
285  int NActiveTowers[83];
286  double SET_EtaRing[83];
287  double MinEt_EtaRing[83];
288  double MaxEt_EtaRing[83];
289  for (int i=0;i<83; i++)
290  {
291  ActiveRing[i] = 0;
292  NActiveTowers[i] = 0;
293  SET_EtaRing[i] = 0;
294  MinEt_EtaRing[i] = 0;
295  MaxEt_EtaRing[i] = 0;
296  }
297 
298  // for (CaloTowerCollection::const_iterator calotower = towers->begin(); calotower != towers->end(); calotower++)
299  for ( ; towerCand != towers->end(); towerCand++)
300  {
301  const Candidate* candidate = &(*towerCand);
302  if (candidate)
303  {
304  const CaloTower* calotower = dynamic_cast<const CaloTower*> (candidate);
305  if (calotower){
306  //math::RhoEtaPhiVector Momentum = calotower->momentum();
307  double Tower_ET = calotower->et();
308  //double Tower_Energy = calotower->energy();
309  // double Tower_Eta = calotower->eta();
310  double Tower_Phi = calotower->phi();
311  //double Tower_EMEnergy = calotower->emEnergy();
312  //double Tower_HadEnergy = calotower->hadEnergy();
313  double Tower_OuterEt = calotower->outerEt();
314  double Tower_EMEt = calotower->emEt();
315  double Tower_HadEt = calotower->hadEt();
316  //int Tower_EMLV1 = calotower->emLvl1();
317  //int Tower_HadLV1 = calotower->hadLv11();
318  int Tower_ieta = calotower->id().ieta();
319  int Tower_iphi = calotower->id().iphi();
320  int EtaRing = 41+Tower_ieta;
321  ActiveRing[EtaRing] = 1;
322  NActiveTowers[EtaRing]++;
323  SET_EtaRing[EtaRing]+=Tower_ET;
324  TLorentzVector v_;
325  v_.SetPtEtaPhiE(Tower_ET, 0, Tower_Phi, Tower_ET);
326  if (Tower_ET>ETTowerMin)
327  vMET_EtaRing[EtaRing]-=v_;
328 
329  // Fill Histograms
330  hCT_Occ_ieta_iphi->Fill(Tower_ieta,Tower_iphi);
331  if (calotower->emEt() > 0 && calotower->emEt() + calotower->hadEt() > 0.3)
332  hCT_Occ_EM_Et_ieta_iphi->Fill(Tower_ieta,Tower_iphi);
333  if (calotower->hadEt() > 0 && calotower->emEt() + calotower->hadEt() > 0.3)
334  hCT_Occ_HAD_Et_ieta_iphi->Fill(Tower_ieta,Tower_iphi);
335  if (calotower->outerEt() > 0 && calotower->emEt() + calotower->hadEt() > 0.3)
336  hCT_Occ_Outer_Et_ieta_iphi->Fill(Tower_ieta,Tower_iphi);
337 
338  hCT_et_ieta_iphi->Fill(Tower_ieta,Tower_iphi,Tower_ET);
339  hCT_emEt_ieta_iphi->Fill(Tower_ieta,Tower_iphi,Tower_EMEt);
340  hCT_hadEt_ieta_iphi->Fill(Tower_ieta,Tower_iphi,Tower_HadEt);
341  hCT_outerEt_ieta_iphi->Fill(Tower_ieta,Tower_iphi,Tower_OuterEt);
342 
343  if (allhist_){
344  hCT_etvsieta->Fill(Tower_ieta, Tower_ET);
345  hCT_emEtvsieta->Fill(Tower_ieta, Tower_EMEt);
346  hCT_hadEtvsieta->Fill(Tower_ieta,Tower_HadEt);
347  hCT_outerEtvsieta->Fill(Tower_ieta,Tower_OuterEt);
348  }
349 
350  if (Tower_ET > MaxEt_EtaRing[EtaRing])
351  MaxEt_EtaRing[EtaRing] = Tower_ET;
352  if (Tower_ET < MinEt_EtaRing[EtaRing] && Tower_ET>0)
353  MinEt_EtaRing[EtaRing] = Tower_ET;
354 
355 
356  if (Tower_ieta < CTmin_ieta) CTmin_ieta = Tower_ieta;
357  if (Tower_ieta > CTmax_ieta) CTmax_ieta = Tower_ieta;
358  if (Tower_iphi < CTmin_iphi) CTmin_iphi = Tower_iphi;
359  if (Tower_iphi > CTmax_iphi) CTmax_iphi = Tower_iphi;
360  } //end if (calotower) ..
361  } // end if(candidate) ...
362 
363  } // end loop over towers
364 
365  // Fill eta-ring MET quantities
366  if (allhist_){
367  for (int iEtaRing=0; iEtaRing<83; iEtaRing++)
368  {
369  hCT_Minetvsieta->Fill(iEtaRing-41, MinEt_EtaRing[iEtaRing]);
370  hCT_Maxetvsieta->Fill(iEtaRing-41, MaxEt_EtaRing[iEtaRing]);
371 
372  if (ActiveRing[iEtaRing])
373  {
374  if (vMET_EtaRing[iEtaRing].Pt()>METRingMin)
375  {
376  hCT_METPhivsieta->Fill(iEtaRing-41, vMET_EtaRing[iEtaRing].Phi());
377  hCT_MExvsieta->Fill(iEtaRing-41, vMET_EtaRing[iEtaRing].Px());
378  hCT_MEyvsieta->Fill(iEtaRing-41, vMET_EtaRing[iEtaRing].Py());
379  hCT_METvsieta->Fill(iEtaRing-41, vMET_EtaRing[iEtaRing].Pt());
380  }
381  hCT_SETvsieta->Fill(iEtaRing-41, SET_EtaRing[iEtaRing]);
382  hCT_Occvsieta->Fill(iEtaRing-41, NActiveTowers[iEtaRing]);
383  }
384  } // ietaring
385  } // allhist_
386 
387  edm::LogInfo("OutputInfo") << "CT ieta range: " << CTmin_ieta << " " << CTmax_ieta;
388  edm::LogInfo("OutputInfo") << "CT iphi range: " << CTmin_iphi << " " << CTmax_iphi;
389 
390 }
#define LogDebug(id)
size
Write out results.
MonitorElement * hCT_etvsieta
MonitorElement * hCT_hadEt_ieta_iphi
MonitorElement * hCT_METvsieta
MonitorElement * hCT_SETvsieta
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
double hadEt() const
Definition: CaloTower.h:116
bool accept() const
Has at least one path accepted the event?
double outerEt() const
Definition: CaloTower.h:117
MonitorElement * hCT_Occ_HAD_Et_ieta_iphi
edm::EDGetTokenT< bool > HBHENoiseFilterResultLabel_
std::vector< MonitorElement * > hCT_NEvents_HLT
MonitorElement * hCT_Nevents
MonitorElement * hCT_Occvsieta
MonitorElement * hCT_METPhivsieta
MonitorElement * hCT_Occ_EM_Et_ieta_iphi
void Fill(long long x)
unsigned int triggerIndex(std::string const &name) const
Definition: TriggerNames.cc:32
MonitorElement * hCT_Occ_ieta_iphi
MonitorElement * hCT_Occ_Outer_Et_ieta_iphi
int iphi() const
get the tower iphi
bool error() const
Has any path encountered an error (exception)
MonitorElement * hCT_Maxetvsieta
MonitorElement * hCT_outerEtvsieta
bool isValid() const
Definition: HandleBase.h:74
CaloTowerDetId id() const
Definition: CaloTower.h:103
MonitorElement * hCT_emEtvsieta
MonitorElement * hCT_Minetvsieta
edm::EDGetTokenT< edm::TriggerResults > HLTResultsLabel_
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
MonitorElement * hCT_et_ieta_iphi
MonitorElement * hCT_MEyvsieta
double et(double vtxZ) const
Definition: CaloTower.h:132
MonitorElement * hCT_hadEtvsieta
MonitorElement * hCT_MExvsieta
int ieta() const
get the tower ieta
edm::EDGetTokenT< edm::View< reco::Candidate > > caloTowersLabel_
MonitorElement * hCT_emEt_ieta_iphi
double phi() const final
momentum azimuthal angle
double emEt() const
Definition: CaloTower.h:115
edm::TriggerNames const & triggerNames(edm::TriggerResults const &triggerResults) const override
Definition: Event.cc:301
std::vector< edm::InputTag > HLTBitLabel_
MonitorElement * hCT_outerEt_ieta_iphi
void CaloTowerAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 87 of file CaloTowerAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), MonitorElement::getTH2F(), mps_fire::i, diffTwoXMLs::label, and DQMStore::IBooker::setCurrentFolder().

90  {
91  ibooker.setCurrentFolder(FolderName_);
92 
93  //Store number of events which pass each HLT bit
94  for(unsigned int i = 0 ; i < HLTBitLabel_.size() ; i++ )
95  {
96  if( !HLTBitLabel_[i].label().empty() )
97  {
98  hCT_NEvents_HLT.push_back( ibooker.book1D("METTask_CT_"+HLTBitLabel_[i].label(),HLTBitLabel_[i].label(),2,-0.5,1.5) );
99  }
100  }
101 
102  //--Store number of events used
103  hCT_Nevents = ibooker.book1D("METTask_CT_Nevents","",1,0,1);
104  //--Data integrated over all events and stored by CaloTower(ieta,iphi)
105  hCT_et_ieta_iphi = ibooker.book2D("METTask_CT_et_ieta_iphi","",83,-41,42, 72,1,73);
106  hCT_et_ieta_iphi->getTH2F()->SetOption("colz");
107  hCT_et_ieta_iphi->setAxisTitle("ieta",1);
108  hCT_et_ieta_iphi->setAxisTitle("ephi",2);
109 
110  hCT_emEt_ieta_iphi = ibooker.book2D("METTask_CT_emEt_ieta_iphi","",83,-41,42, 72,1,73);
111  hCT_emEt_ieta_iphi->getTH2F()->SetOption("colz");
112  hCT_emEt_ieta_iphi->setAxisTitle("ieta",1);
113  hCT_emEt_ieta_iphi->setAxisTitle("ephi",2);
114  hCT_hadEt_ieta_iphi = ibooker.book2D("METTask_CT_hadEt_ieta_iphi","",83,-41,42, 72,1,73);
115  hCT_hadEt_ieta_iphi->getTH2F()->SetOption("colz");
118  hCT_outerEt_ieta_iphi = ibooker.book2D("METTask_CT_outerEt_ieta_iphi","",83,-41,42, 72,1,73);
119  hCT_outerEt_ieta_iphi->getTH2F()->SetOption("colz");
122  hCT_Occ_ieta_iphi = ibooker.book2D("METTask_CT_Occ_ieta_iphi","",83,-41,42, 72,1,73);
123  hCT_Occ_ieta_iphi->getTH2F()->SetOption("colz");
124  hCT_Occ_ieta_iphi->setAxisTitle("ieta",1);
125  hCT_Occ_ieta_iphi->setAxisTitle("ephi",2);
126 
127  hCT_Occ_EM_Et_ieta_iphi = ibooker.book2D("METTask_CT_Occ_EM_Et_ieta_iphi","",83,-41,42, 72,1,73);
128  hCT_Occ_EM_Et_ieta_iphi->getTH2F()->SetOption("colz");
131 
132  hCT_Occ_HAD_Et_ieta_iphi = ibooker.book2D("METTask_CT_Occ_HAD_Et_ieta_iphi","",83,-41,42, 72,1,73);
133  hCT_Occ_HAD_Et_ieta_iphi->getTH2F()->SetOption("colz");
136 
137  hCT_Occ_Outer_Et_ieta_iphi = ibooker.book2D("METTask_CT_Occ_Outer_Et_ieta_iphi","",83,-41,42, 72,1,73);
138  hCT_Occ_Outer_Et_ieta_iphi->getTH2F()->SetOption("colz");
141 
142  //--Data over eta-rings
143 
144  // CaloTower values
145  if(allhist_){
146  if(finebinning_)
147  {
148 
149  hCT_etvsieta = ibooker.book2D("METTask_CT_etvsieta","", 83,-41,42, 10001,0,1001);
150  hCT_Minetvsieta = ibooker.book2D("METTask_CT_Minetvsieta","", 83,-41,42, 10001,0,1001);
151  hCT_Maxetvsieta = ibooker.book2D("METTask_CT_Maxetvsieta","", 83,-41,42, 10001,0,1001);
152  hCT_emEtvsieta = ibooker.book2D("METTask_CT_emEtvsieta","",83,-41,42, 10001,0,1001);
153  hCT_hadEtvsieta = ibooker.book2D("METTask_CT_hadEtvsieta","",83,-41,42, 10001,0,1001);
154  hCT_outerEtvsieta = ibooker.book2D("METTask_CT_outerEtvsieta","",83,-41,42, 10001,0,1001);
155  // Integrated over phi
156 
157  hCT_Occvsieta = ibooker.book2D("METTask_CT_Occvsieta","",83,-41,42, 84,0,84);
158  hCT_SETvsieta = ibooker.book2D("METTask_CT_SETvsieta","",83,-41,42, 20001,0,2001);
159  hCT_METvsieta = ibooker.book2D("METTask_CT_METvsieta","",83,-41,42, 20001,0,2001);
160  hCT_METPhivsieta = ibooker.book2D("METTask_CT_METPhivsieta","",83,-41,42, 80,-4,4);
161  hCT_MExvsieta = ibooker.book2D("METTask_CT_MExvsieta","",83,-41,42, 10001,-500,501);
162  hCT_MEyvsieta = ibooker.book2D("METTask_CT_MEyvsieta","",83,-41,42, 10001,-500,501);
163  }
164  else
165  {
166 
167  if(allhist_){
168  hCT_etvsieta = ibooker.book2D("METTask_CT_etvsieta","", 83,-41,42, 200,-0.5,999.5);
169  hCT_Minetvsieta = ibooker.book2D("METTask_CT_Minetvsieta","", 83,-41,42, 200,-0.5,999.5);
170  hCT_Maxetvsieta = ibooker.book2D("METTask_CT_Maxetvsieta","", 83,-41,42, 200,-0.5,999.5);
171  hCT_emEtvsieta = ibooker.book2D("METTask_CT_emEtvsieta","",83,-41,42, 200,-0.5,999.5);
172  hCT_hadEtvsieta = ibooker.book2D("METTask_CT_hadEtvsieta","",83,-41,42, 200,-0.5,999.5);
173  hCT_outerEtvsieta = ibooker.book2D("METTask_CT_outerEtvsieta","",83,-41,42, 80,-0.5,399.5);
174  // Integrated over phi
175  }
176 
177  hCT_Occvsieta = ibooker.book2D("METTask_CT_Occvsieta","",83,-41,42, 73,-0.5,72.5);
178  hCT_SETvsieta = ibooker.book2D("METTask_CT_SETvsieta","",83,-41,42, 200,-0.5,1999.5);
179  hCT_METvsieta = ibooker.book2D("METTask_CT_METvsieta","",83,-41,42, 200,-0.5,1999.5);
180  hCT_METPhivsieta = ibooker.book2D("METTask_CT_METPhivsieta","",83,-41,42, 80,-4,4);
181  hCT_MExvsieta = ibooker.book2D("METTask_CT_MExvsieta","",83,-41,42, 100,-499.5,499.5);
182  hCT_MEyvsieta = ibooker.book2D("METTask_CT_MEyvsieta","",83,-41,42, 100,-499.5,499.5);
183 
184  }
185  } // allhist
186  }
MonitorElement * hCT_etvsieta
MonitorElement * hCT_hadEt_ieta_iphi
MonitorElement * hCT_METvsieta
MonitorElement * hCT_SETvsieta
MonitorElement * hCT_Occ_HAD_Et_ieta_iphi
std::vector< MonitorElement * > hCT_NEvents_HLT
MonitorElement * hCT_Nevents
MonitorElement * hCT_Occvsieta
MonitorElement * hCT_METPhivsieta
MonitorElement * hCT_Occ_EM_Et_ieta_iphi
MonitorElement * hCT_Occ_ieta_iphi
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * hCT_Occ_Outer_Et_ieta_iphi
MonitorElement * hCT_Maxetvsieta
MonitorElement * hCT_outerEtvsieta
TH2F * getTH2F() const
MonitorElement * hCT_emEtvsieta
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
MonitorElement * hCT_Minetvsieta
MonitorElement * hCT_et_ieta_iphi
MonitorElement * hCT_MEyvsieta
MonitorElement * hCT_hadEtvsieta
MonitorElement * hCT_MExvsieta
MonitorElement * hCT_emEt_ieta_iphi
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::vector< edm::InputTag > HLTBitLabel_
MonitorElement * hCT_outerEt_ieta_iphi
std::string FolderName_
void CaloTowerAnalyzer::dqmbeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
virtual

Definition at line 82 of file CaloTowerAnalyzer.cc.

83 {
84  Nevents = 0;
85 }

Member Data Documentation

bool CaloTowerAnalyzer::allhist_
private

Definition at line 42 of file CaloTowerAnalyzer.h.

edm::EDGetTokenT<edm::View<reco::Candidate> > CaloTowerAnalyzer::caloTowersLabel_
private

Definition at line 36 of file CaloTowerAnalyzer.h.

bool CaloTowerAnalyzer::debug_
private

Definition at line 40 of file CaloTowerAnalyzer.h.

double CaloTowerAnalyzer::energyThreshold_
private

Definition at line 41 of file CaloTowerAnalyzer.h.

bool CaloTowerAnalyzer::finebinning_
private

Definition at line 43 of file CaloTowerAnalyzer.h.

std::string CaloTowerAnalyzer::FolderName_
private

Definition at line 45 of file CaloTowerAnalyzer.h.

edm::EDGetTokenT<bool> CaloTowerAnalyzer::HBHENoiseFilterResultLabel_
private

Definition at line 39 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_emEt_ieta_iphi
private

Definition at line 51 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_emEtvsieta
private

Definition at line 61 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_et_ieta_iphi
private

Definition at line 50 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_etvsieta
private

Definition at line 58 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_hadEt_ieta_iphi
private

Definition at line 52 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_hadEtvsieta
private

Definition at line 62 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Maxetvsieta
private

Definition at line 60 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_METPhivsieta
private

Definition at line 67 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_METvsieta
private

Definition at line 66 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_MExvsieta
private

Definition at line 68 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_MEyvsieta
private

Definition at line 69 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Minetvsieta
private

Definition at line 59 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Nevents
private

Definition at line 49 of file CaloTowerAnalyzer.h.

std::vector<MonitorElement*> CaloTowerAnalyzer::hCT_NEvents_HLT
private

Definition at line 70 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Occ_EM_Et_ieta_iphi
private

Definition at line 55 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Occ_HAD_Et_ieta_iphi
private

Definition at line 56 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Occ_ieta_iphi
private

Definition at line 54 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Occ_Outer_Et_ieta_iphi
private

Definition at line 57 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_Occvsieta
private

Definition at line 64 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_outerEt_ieta_iphi
private

Definition at line 53 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_outerEtvsieta
private

Definition at line 63 of file CaloTowerAnalyzer.h.

MonitorElement* CaloTowerAnalyzer::hCT_SETvsieta
private

Definition at line 65 of file CaloTowerAnalyzer.h.

std::vector< edm::InputTag > CaloTowerAnalyzer::HLTBitLabel_
private

Definition at line 37 of file CaloTowerAnalyzer.h.

edm::EDGetTokenT<edm::TriggerResults> CaloTowerAnalyzer::HLTResultsLabel_
private

Definition at line 38 of file CaloTowerAnalyzer.h.

bool CaloTowerAnalyzer::hltselection_
private

Definition at line 44 of file CaloTowerAnalyzer.h.

int CaloTowerAnalyzer::Nevents
private

Definition at line 46 of file CaloTowerAnalyzer.h.