CMS 3D CMS Logo

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

#include <DQMHcalIsoTrackAlCaReco.h>

Inheritance diagram for DQMHcalIsoTrackAlCaReco:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > 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
 
 DQMHcalIsoTrackAlCaReco (const edm::ParameterSet &)
 
 ~DQMHcalIsoTrackAlCaReco () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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 () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

std::vector< double > etaRange_
 
std::string folderName_
 
MonitorElementhEnEcal_
 
std::vector< MonitorElement * > hHltEta_
 
std::vector< MonitorElement * > hHltP_
 
std::vector< MonitorElement * > hHltPhi_
 
MonitorElementhIeta_
 
MonitorElementhIphi_
 
std::vector< MonitorElement * > hL1Eta_
 
std::vector< MonitorElement * > hL1phi_
 
std::vector< MonitorElement * > hL1Pt_
 
MonitorElementhL3Dr_
 
MonitorElementhL3Rat_
 
std::vector< std::string > hltFilterTag_
 
MonitorElementhMaxP_
 
std::vector< MonitorElement * > hOffP_
 
std::vector< bool > ifL3_
 
std::vector< unsigned int > indexH_
 
std::vector< std::string > l1FilterTag_
 
edm::InputTag labelTrack_
 
edm::InputTag labelTrigger_
 
int nHLTaccepts_
 
int nTotal_
 
double pThr_
 
edm::EDGetTokenT< reco::HcalIsolatedTrackCandidateCollectiontokTrack_
 
edm::EDGetTokenT< trigger::TriggerEventtokTrigger_
 
std::vector< int > type_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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::ProducerBase
ProducesCollector producesCollector ()
 
- 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 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

DQMOffline/CalibCalo/src/DQMHcalIsoTrackAlCaReco.cc

Description: <one line="" class="" summary>="">

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

Definition at line 45 of file DQMHcalIsoTrackAlCaReco.h.

Constructor & Destructor Documentation

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

Definition at line 29 of file DQMHcalIsoTrackAlCaReco.cc.

References folderName_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hltFilterTag_, dqmdumpme::k, l1FilterTag_, labelTrack_, labelTrigger_, LogDebug, nHLTaccepts_, nTotal_, pThr_, AlCaHLTBitMon_QueryRunRegistry::string, tokTrack_, tokTrigger_, and type_.

29  {
30  folderName_ = iConfig.getParameter<std::string>("FolderName");
31  l1FilterTag_ = iConfig.getParameter<std::vector<std::string>>("L1FilterLabel");
32  hltFilterTag_ = iConfig.getParameter<std::vector<std::string>>("HltFilterLabels");
33  type_ = iConfig.getParameter<std::vector<int>>("TypeFilter");
34  labelTrigger_ = iConfig.getParameter<edm::InputTag>("TriggerLabel");
35  labelTrack_ = iConfig.getParameter<edm::InputTag>("TracksLabel");
36  pThr_ = iConfig.getUntrackedParameter<double>("pThrL3", 0);
37 
38  nTotal_ = nHLTaccepts_ = 0;
39  tokTrigger_ = consumes<trigger::TriggerEvent>(labelTrigger_);
40  tokTrack_ = consumes<reco::HcalIsolatedTrackCandidateCollection>(labelTrack_);
41  LogDebug("HcalIsoTrack") << "Folder " << folderName_ << " Input Tag for Trigger " << labelTrigger_ << " track "
42  << labelTrack_ << " threshold " << pThr_ << " with " << l1FilterTag_.size()
43  << " level 1 and " << hltFilterTag_.size() << " hlt filter tags"
44  << "\n";
45  for (unsigned int k = 0; k < l1FilterTag_.size(); ++k)
46  LogDebug("HcalIsoTrack") << "L1FilterTag[" << k << "] " << l1FilterTag_[k] << "\n";
47  for (unsigned int k = 0; k < hltFilterTag_.size(); ++k)
48  LogDebug("HcalIsoTrack") << "HLTFilterTag[" << k << "] " << hltFilterTag_[k] << "\n";
49 }
#define LogDebug(id)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< reco::HcalIsolatedTrackCandidateCollection > tokTrack_
edm::EDGetTokenT< trigger::TriggerEvent > tokTrigger_
std::vector< std::string > hltFilterTag_
std::vector< std::string > l1FilterTag_
DQMHcalIsoTrackAlCaReco::~DQMHcalIsoTrackAlCaReco ( )
override

Definition at line 51 of file DQMHcalIsoTrackAlCaReco.cc.

51 {}

Member Function Documentation

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

Definition at line 53 of file DQMHcalIsoTrackAlCaReco.cc.

References funct::abs(), accept(), PbPb_ZMuSkimMuonDPG_cff::deltaR, trigger::TriggerObject::eta(), fastmath::etaphi(), etaRange_, dqm::impl::MonitorElement::Fill(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::filterTag(), spr::find(), edm::Event::getByToken(), trigger::TriggerEvent::getObjects(), hEnEcal_, hHltEta_, hHltP_, hHltPhi_, hIeta_, hIphi_, hL1Eta_, hL1phi_, hL1Pt_, hL3Dr_, hL3Rat_, hltFilterTag_, hMaxP_, hOffP_, ifL3_, indexH_, edm::HandleBase::isValid(), dqmdumpme::k, cmsLHEtoEOSManager::l, l1FilterTag_, edm::InputTag::label(), LogDebug, HLT_2018_cff::nFilt, nHLTaccepts_, nTotal_, trigger::TriggerObject::p(), trigger::TriggerObject::phi(), DiDispStaMuonMonitor_cfi::pt, trigger::TriggerObject::pt(), pThr_, dttmaxenums::R, trigger::TriggerEvent::sizeFilters(), tokTrack_, and tokTrigger_.

53  {
54  nTotal_++;
55  bool accept(false);
57  iEvent.getByToken(tokTrigger_, trEv);
58 
60  iEvent.getByToken(tokTrack_, recoIsoTracks);
61  LogDebug("HcalIsoTrack") << "Gets Trigger information with " << trEv.isValid() << " and offline tracks with "
62  << recoIsoTracks.isValid() << "\n";
63 
64  if (trEv.isValid()) {
65  const trigger::TriggerObjectCollection &TOCol(trEv->getObjects());
66  const trigger::size_type nFilt(trEv->sizeFilters());
67  // plots for L1 trigger
68  for (unsigned int k = 0; k < l1FilterTag_.size(); ++k) {
69  trigger::Keys KEYSl1;
70  double etaTrigl1(-10000), phiTrigl1(-10000), ptMaxl1(0);
71  for (trigger::size_type iFilt = 0; iFilt != nFilt; iFilt++) {
72  LogDebug("HcalIsoTrack") << trEv->filterTag(iFilt).label() << " find for " << l1FilterTag_[k] << " gives "
73  << (trEv->filterTag(iFilt).label()).find(l1FilterTag_[k]) << "\n";
74  if ((trEv->filterTag(iFilt).label()).find(l1FilterTag_[k]) != std::string::npos) {
75  KEYSl1 = trEv->filterKeys(iFilt);
76  trigger::size_type nRegl1 = KEYSl1.size();
77  LogDebug("HcalIsoTrack") << "# of objects " << nRegl1 << "\n";
78  for (trigger::size_type iReg = 0; iReg < nRegl1; iReg++) {
79  const trigger::TriggerObject &TObj(TOCol[KEYSl1[iReg]]);
80  LogDebug("HcalIsoTrack") << "Object[" << iReg << "] with pt " << TObj.pt() << " " << TObj.eta() << " "
81  << TObj.phi() << "\n";
82  if (TObj.pt() > ptMaxl1) {
83  etaTrigl1 = TObj.eta();
84  phiTrigl1 = TObj.phi();
85  ptMaxl1 = TObj.pt();
86  }
87  }
88  }
89  }
90  LogDebug("HcalIsoTrack") << "For L1 trigger type " << k << " pt " << ptMaxl1 << " eta " << etaTrigl1 << " phi "
91  << phiTrigl1 << "\n";
92  if (ptMaxl1 > 0) {
93  hL1Pt_[k]->Fill(ptMaxl1);
94  hL1Eta_[k]->Fill(etaTrigl1);
95  hL1phi_[k]->Fill(phiTrigl1);
96  }
97  }
98  // Now make plots for hlt objects
99  trigger::Keys KEYS;
100  for (unsigned l = 0; l < hltFilterTag_.size(); l++) {
101  for (trigger::size_type iFilt = 0; iFilt != nFilt; iFilt++) {
102  LogDebug("HcalIsoTrack") << trEv->filterTag(iFilt).label() << " find for " << hltFilterTag_[l] << " gives "
103  << (trEv->filterTag(iFilt).label()).find(hltFilterTag_[l]) << "\n";
104  if ((trEv->filterTag(iFilt).label()).find(hltFilterTag_[l]) != std::string::npos) {
105  KEYS = trEv->filterKeys(iFilt);
106  trigger::size_type nReg = KEYS.size();
107  LogDebug("HcalIsoTrack") << "# of objects for HLT " << nReg << "\n";
108  // checks with IsoTrack trigger results
109  for (trigger::size_type iReg = 0; iReg < nReg; iReg++) {
110  const trigger::TriggerObject &TObj(TOCol[KEYS[iReg]]);
111  LogDebug("HcalIsoTrack") << "HLT Filter Tag " << l << " trigger " << iFilt << " object " << iReg << " p "
112  << TObj.p() << " pointer " << indexH_[l] << ":" << hHltP_[indexH_[l]] << ":"
113  << hHltEta_[indexH_[l]] << ":" << hHltPhi_[indexH_[l]] << "\n";
114  if (TObj.p() > pThr_) {
115  hHltP_[indexH_[l]]->Fill(TObj.p());
116  hHltEta_[indexH_[l]]->Fill(TObj.eta());
117  hHltPhi_[indexH_[l]]->Fill(TObj.phi());
118  if (ifL3_[l])
119  accept = true;
120  if (recoIsoTracks.isValid() && ifL3_[l]) {
121  double minRecoL3dist(1000), pt(1000);
122  reco::HcalIsolatedTrackCandidateCollection::const_iterator mrtr;
123  for (mrtr = recoIsoTracks->begin(); mrtr != recoIsoTracks->end(); mrtr++) {
124  double R = deltaR(mrtr->eta(), mrtr->phi(), TObj.eta(), TObj.phi());
125  if (R < minRecoL3dist) {
126  minRecoL3dist = R;
127  pt = mrtr->pt();
128  }
129  }
130  LogDebug("HcalIsoTrack") << "Minimum R " << minRecoL3dist << " pt " << pt << ":" << TObj.pt() << "\n";
131  hL3Dr_->Fill(minRecoL3dist);
132  if (minRecoL3dist < 0.02)
133  hL3Rat_->Fill(TObj.pt() / pt);
134  }
135  }
136  }
137  }
138  }
139  }
140  }
141 
142  // general distributions
143  if (recoIsoTracks.isValid()) {
144  for (reco::HcalIsolatedTrackCandidateCollection::const_iterator itr = recoIsoTracks->begin();
145  itr != recoIsoTracks->end();
146  itr++) {
147  hMaxP_->Fill(itr->maxP());
148  hEnEcal_->Fill(itr->energyEcal());
149  std::pair<int, int> etaphi = itr->towerIndex();
150  hIeta_->Fill(etaphi.first);
151  hIphi_->Fill(etaphi.second);
152  LogDebug("HcalIsoTrack") << "Reco track p " << itr->p() << " eta|phi " << etaphi.first << "|" << etaphi.second
153  << " maxP " << itr->maxP() << " EcalE " << itr->energyEcal() << " pointers " << hHltP_[3]
154  << ":" << hHltEta_[3] << ":" << hHltPhi_[3] << "\n";
155  if (itr->p() >= pThr_) {
156  hHltP_[3]->Fill(itr->p());
157  hHltEta_[3]->Fill(itr->eta());
158  hHltPhi_[3]->Fill(itr->phi());
159  }
160  double etaAbs = std::abs(itr->eta());
161  hOffP_[0]->Fill(itr->p());
162  for (unsigned int l = 1; l < etaRange_.size(); l++) {
163  if (etaAbs >= etaRange_[l - 1] && etaAbs < etaRange_[l]) {
164  LogDebug("HcalIsoTrack") << "Range " << l << " p " << itr->p() << " pointer " << hOffP_[l];
165  hOffP_[l]->Fill(itr->p());
166  break;
167  }
168  }
169  }
170  }
171 
172  if (accept)
173  nHLTaccepts_++;
174  LogDebug("HcalIsoTrack") << "Accept " << accept << "\n";
175 }
#define LogDebug(id)
std::pair< T, T > etaphi(T x, T y, T z)
Definition: FastMath.h:162
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:146
std::vector< MonitorElement * > hL1phi_
edm::EDGetTokenT< reco::HcalIsolatedTrackCandidateCollection > tokTrack_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::vector< unsigned int > indexH_
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:118
std::vector< MonitorElement * > hHltP_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
uint16_t size_type
std::vector< double > etaRange_
void Fill(long long x)
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
edm::EDGetTokenT< trigger::TriggerEvent > tokTrigger_
std::vector< MonitorElement * > hHltPhi_
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
std::vector< MonitorElement * > hHltEta_
std::vector< MonitorElement * > hL1Pt_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
bool isValid() const
Definition: HandleBase.h:70
std::vector< std::string > hltFilterTag_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
const edm::InputTag filterTag(trigger::size_type index) const
Definition: TriggerEvent.h:108
std::vector< size_type > Keys
std::string const & label() const
Definition: InputTag.h:36
std::vector< MonitorElement * > hL1Eta_
std::vector< MonitorElement * > hOffP_
std::vector< std::string > l1FilterTag_
void DQMHcalIsoTrackAlCaReco::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 177 of file DQMHcalIsoTrackAlCaReco.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), etaRange_, folderName_, hEnEcal_, hHltEta_, hHltP_, hHltPhi_, hIeta_, hIphi_, hL1Eta_, hL1phi_, hL1Pt_, hL3Dr_, hL3Rat_, hltFilterTag_, hMaxP_, hOffP_, ifL3_, indexH_, dqmdumpme::k, cmsLHEtoEOSManager::l, l1FilterTag_, LogDebug, Skims_PA_cff::name, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, overlapproblemtsosanalyzer_cfi::title, and type_.

177  {
178  iBooker.setCurrentFolder(folderName_);
179  LogDebug("HcalIsoTrack") << "Set the folder to " << folderName_ << "\n";
180  char name[100], title[200];
181  for (unsigned int k = 0; k < l1FilterTag_.size(); ++k) {
182  sprintf(name, "hp%s", l1FilterTag_[k].c_str());
183  sprintf(title, "p_T of L1 object for %s", l1FilterTag_[k].c_str());
184  hL1Pt_.push_back(iBooker.book1D(name, title, 1000, 0, 1000));
185  hL1Pt_[k]->setAxisTitle("p_T (GeV)", 1);
186  sprintf(name, "heta%s", l1FilterTag_[k].c_str());
187  sprintf(title, "#eta of L1 object for %s", l1FilterTag_[k].c_str());
188  hL1Eta_.push_back(iBooker.book1D(name, title, 100, -2.5, 2.5));
189  hL1Eta_[k]->setAxisTitle("#eta", 1);
190  sprintf(name, "hphi%s", l1FilterTag_[k].c_str());
191  sprintf(title, "#phi of L1 object for %s", l1FilterTag_[k].c_str());
192  hL1phi_.push_back(iBooker.book1D(name, title, 100, -3.2, 3.2));
193  hL1phi_[k]->setAxisTitle("#phi", 1);
194  }
195 
196  std::string types[4] = {"L2", "L2x", "L3", "Off"};
197  for (unsigned int l = 0; l < 4; l++) {
198  sprintf(name, "hp%s", types[l].c_str());
199  sprintf(title, "Momentum of %s object", types[l].c_str());
200  hHltP_.push_back(iBooker.book1D(name, title, 200, 0, 1000));
201  hHltP_[l]->setAxisTitle("p (GeV)", 1);
202  sprintf(name, "heta%s", types[l].c_str());
203  sprintf(title, "#eta of %s object", types[l].c_str());
204  hHltEta_.push_back(iBooker.book1D(name, title, 16, -2, 2));
205  hHltEta_[l]->setAxisTitle("#eta", 1);
206  sprintf(name, "hphi%s", types[l].c_str());
207  sprintf(title, "#phi of %s object", types[l].c_str());
208  hHltPhi_.push_back(iBooker.book1D(name, title, 16, -3.2, 3.2));
209  hHltPhi_[l]->setAxisTitle("#phi", 1);
210  }
211  sprintf(title, "Distance of offline track from L3 object");
212  hL3Dr_ = (iBooker.book1D("hDRL3", title, 40, 0, 0.2));
213  hL3Dr_->setAxisTitle("R(#eta,#phi)", 1);
214  sprintf(title, "Ratio of p L3/Offline");
215  hL3Rat_ = (iBooker.book1D("hRatL3", title, 500, 0, 3));
216  indexH_.clear();
217  ifL3_.clear();
218  for (unsigned int l = 0; l < hltFilterTag_.size(); l++) {
219  unsigned int indx = (type_[l] >= 0 && type_[l] < 3) ? type_[l] : 0;
220  indexH_.push_back(indx);
221  ifL3_.push_back(indx == 2);
222  LogDebug("HcalIsoTrack") << "Filter[" << l << "] " << hltFilterTag_[l] << " type " << type_[l] << " index "
223  << indexH_[l] << " L3? " << ifL3_[l] << "\n";
224  }
225 
226  double etaV[6] = {0.0, 0.5, 1.0, 1.5, 2.0, 2.5};
227  for (unsigned int k = 0; k < 6; ++k) {
228  sprintf(name, "hOffP%d", k);
229  if (k == 0) {
230  sprintf(title, "p of AlCaReco object (All)");
231  } else {
232  sprintf(title, "p of AlCaReco object (%3.1f < |#eta| < %3.1f)", etaV[k - 1], etaV[k]);
233  }
234  etaRange_.push_back(etaV[k]);
235  hOffP_.push_back(iBooker.book1D(name, title, 1000, 0, 1000));
236  hOffP_[k]->setAxisTitle("E (GeV)", 1);
237  }
238  hMaxP_ = iBooker.book1D("hChgIsol", "Energy for charge isolation", 110, -10, 100);
239  hMaxP_->setAxisTitle("p (GeV)", 1);
240  hEnEcal_ = iBooker.book1D("hEnEcal", "Energy in ECAL", 100, 0, 20);
241  hEnEcal_->setAxisTitle("E (GeV)", 1);
242  hIeta_ = iBooker.book1D("hIEta", "i#eta for HCAL tower", 90, -45, 45);
243  hIeta_->setAxisTitle("i#eta", 1);
244  hIphi_ = iBooker.book1D("hIPhi", "i#phi for HCAL tower", 72, 0, 72);
245  hIphi_->setAxisTitle("i#phi", 1);
246 }
#define LogDebug(id)
std::vector< MonitorElement * > hL1phi_
std::vector< unsigned int > indexH_
std::vector< MonitorElement * > hHltP_
std::vector< double > etaRange_
std::vector< MonitorElement * > hHltPhi_
std::vector< MonitorElement * > hHltEta_
std::vector< MonitorElement * > hL1Pt_
std::vector< std::string > hltFilterTag_
std::vector< MonitorElement * > hL1Eta_
std::vector< MonitorElement * > hOffP_
std::vector< std::string > l1FilterTag_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

std::vector<double> DQMHcalIsoTrackAlCaReco::etaRange_
private

Definition at line 70 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::string DQMHcalIsoTrackAlCaReco::folderName_
private

Definition at line 54 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalIsoTrackAlCaReco().

MonitorElement * DQMHcalIsoTrackAlCaReco::hEnEcal_
private

Definition at line 67 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hHltEta_
private

Definition at line 64 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hHltP_
private

Definition at line 64 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hHltPhi_
private

Definition at line 64 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * DQMHcalIsoTrackAlCaReco::hIeta_
private

Definition at line 67 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * DQMHcalIsoTrackAlCaReco::hIphi_
private

Definition at line 67 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hL1Eta_
private

Definition at line 63 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hL1phi_
private

Definition at line 63 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hL1Pt_
private

Definition at line 63 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMHcalIsoTrackAlCaReco::hL3Dr_
private

Definition at line 65 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement * DQMHcalIsoTrackAlCaReco::hL3Rat_
private

Definition at line 65 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<std::string> DQMHcalIsoTrackAlCaReco::hltFilterTag_
private

Definition at line 55 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), bookHistograms(), and DQMHcalIsoTrackAlCaReco().

MonitorElement* DQMHcalIsoTrackAlCaReco::hMaxP_
private

Definition at line 67 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<MonitorElement *> DQMHcalIsoTrackAlCaReco::hOffP_
private

Definition at line 66 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<bool> DQMHcalIsoTrackAlCaReco::ifL3_
private

Definition at line 72 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<unsigned int> DQMHcalIsoTrackAlCaReco::indexH_
private

Definition at line 71 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and bookHistograms().

std::vector<std::string> DQMHcalIsoTrackAlCaReco::l1FilterTag_
private

Definition at line 55 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), bookHistograms(), and DQMHcalIsoTrackAlCaReco().

edm::InputTag DQMHcalIsoTrackAlCaReco::labelTrack_
private

Definition at line 57 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by DQMHcalIsoTrackAlCaReco().

edm::InputTag DQMHcalIsoTrackAlCaReco::labelTrigger_
private

Definition at line 57 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by DQMHcalIsoTrackAlCaReco().

int DQMHcalIsoTrackAlCaReco::nHLTaccepts_
private

Definition at line 69 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and DQMHcalIsoTrackAlCaReco().

int DQMHcalIsoTrackAlCaReco::nTotal_
private

Definition at line 69 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and DQMHcalIsoTrackAlCaReco().

double DQMHcalIsoTrackAlCaReco::pThr_
private

Definition at line 61 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and DQMHcalIsoTrackAlCaReco().

edm::EDGetTokenT<reco::HcalIsolatedTrackCandidateCollection> DQMHcalIsoTrackAlCaReco::tokTrack_
private

Definition at line 59 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and DQMHcalIsoTrackAlCaReco().

edm::EDGetTokenT<trigger::TriggerEvent> DQMHcalIsoTrackAlCaReco::tokTrigger_
private

Definition at line 58 of file DQMHcalIsoTrackAlCaReco.h.

Referenced by analyze(), and DQMHcalIsoTrackAlCaReco().

std::vector<int> DQMHcalIsoTrackAlCaReco::type_
private