CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes | Private Attributes
HGCalValidator Class Reference

#include <HGCalValidator.h>

Inheritance diagram for HGCalValidator:
DQMGlobalEDAnalyzer< HGCalValidatorHistograms > DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... > edm::global::EDProducer< edm::RunCache< HGCalValidatorHistograms >, edm::EndRunProducer, edm::Accumulator, Args... > edm::global::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Types

using Histograms = HGCalValidatorHistograms
 
- Public Types inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::global::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
 

Public Member Functions

void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &, Histograms &) const override
 Method called to book the DQM histograms. More...
 
void cpParametersAndSelection (const Histograms &histograms, std::vector< CaloParticle > const &cPeff, std::vector< SimVertex > const &simVertices, std::vector< size_t > &selected_cPeff, unsigned int layers, std::unordered_map< DetId, const HGCRecHit * > const &) const
 
void dqmAnalyze (const edm::Event &, const edm::EventSetup &, const Histograms &) const override
 Method called once per event. More...
 
 HGCalValidator (const edm::ParameterSet &pset)
 Constructor. More...
 
 ~HGCalValidator () override
 Destructor. More...
 
- Public Member Functions inherited from DQMGlobalEDAnalyzer< HGCalValidatorHistograms >
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &, HGCalValidatorHistograms const &) const
 
void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup) const final
 
- Public Member Functions inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
void accumulate (edm::StreamID id, edm::Event const &event, edm::EventSetup const &setup) const final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &, HGCalValidatorHistograms &) const
 
 DQMGlobalEDAnalyzerBase ()
 
std::shared_ptr< HGCalValidatorHistogramsglobalBeginRun (edm::Run const &run, edm::EventSetup const &setup) const final
 
void globalEndRun (edm::Run const &, edm::EventSetup const &) const final
 
- Public Member Functions inherited from edm::global::EDProducer< edm::RunCache< HGCalValidatorHistograms >, edm::EndRunProducer, edm::Accumulator, Args... >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
EDProduceroperator= (const EDProducer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Protected Attributes

edm::InputTag associator_
 
edm::EDGetTokenT< hgcal::RecoToSimCollectionassociatorMapRtS
 
edm::EDGetTokenT< hgcal::RecoToSimCollectionWithSimClustersassociatorMapRtSim
 
edm::EDGetTokenT< hgcal::SimToRecoCollectionWithSimClustersassociatorMapSimtR
 
edm::EDGetTokenT< hgcal::SimToRecoCollectionassociatorMapStR
 
edm::InputTag associatorSim_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeomToken_
 
std::vector< edm::EDGetTokenT< std::vector< float > > > clustersMaskTokens_
 
const edm::FileInPath cummatbudinxo_
 
edm::EDGetTokenT< Densitydensity_
 
const bool doCaloParticlePlots_
 
const bool doCaloParticleSelection_
 
const bool doLayerClustersPlots_
 
const bool doMultiClustersPlots_
 
const bool doSimClustersPlots_
 
std::unique_ptr< HGVHistoProducerAlgohistoProducerAlgo_
 
edm::EDGetTokenT< std::unordered_map< DetId, const HGCRecHit * > > hitMap_
 
std::vector< edm::InputTaglabel_clustersmask
 
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
 
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_fake
 
edm::InputTag label_lcl
 
std::vector< edm::InputTaglabel_mcl
 
std::vector< edm::EDGetTokenT< std::vector< reco::HGCalMultiCluster > > > label_mclTokens
 
std::vector< edm::EDGetTokenT< reco::CaloClusterCollection > > labelToken
 
edm::EDGetTokenT< reco::CaloClusterCollectionlayerclusters_
 
const bool SaveGeneralInfo_
 
edm::EDGetTokenT< std::vector< SimCluster > > simclusters_
 
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
 
- Protected Attributes inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
DQMStoredqmstore_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Private Attributes

CaloParticleSelector cpSelector
 
std::map< double, double > cummatbudg
 
std::string dirName_
 
std::vector< int > particles_to_monitor_
 
std::vector< int > thicknesses_to_monitor_
 
std::shared_ptr< hgcal::RecHitToolstools_
 
unsigned totallayers_to_monitor_
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::global::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
uint64_t meId (edm::Run const &run) const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Class that produces histograms to validate HGCal Reconstruction performances

Author
HGCal

Definition at line 40 of file HGCalValidator.h.

Member Typedef Documentation

◆ Histograms

Definition at line 42 of file HGCalValidator.h.

Constructor & Destructor Documentation

◆ HGCalValidator()

HGCalValidator::HGCalValidator ( const edm::ParameterSet pset)

Constructor.

Definition at line 11 of file HGCalValidator.cc.

12  : caloGeomToken_(esConsumes<CaloGeometry, CaloGeometryRecord>()),
13  label_lcl(pset.getParameter<edm::InputTag>("label_lcl")),
14  label_mcl(pset.getParameter<std::vector<edm::InputTag>>("label_mcl")),
15  associator_(pset.getUntrackedParameter<edm::InputTag>("associator")),
16  associatorSim_(pset.getUntrackedParameter<edm::InputTag>("associatorSim")),
17  SaveGeneralInfo_(pset.getUntrackedParameter<bool>("SaveGeneralInfo")),
18  doCaloParticlePlots_(pset.getUntrackedParameter<bool>("doCaloParticlePlots")),
19  doCaloParticleSelection_(pset.getUntrackedParameter<bool>("doCaloParticleSelection")),
20  doSimClustersPlots_(pset.getUntrackedParameter<bool>("doSimClustersPlots")),
21  doLayerClustersPlots_(pset.getUntrackedParameter<bool>("doLayerClustersPlots")),
22  doMultiClustersPlots_(pset.getUntrackedParameter<bool>("doMultiClustersPlots")),
23  label_clustersmask(pset.getParameter<std::vector<edm::InputTag>>("LayerClustersInputMask")),
24  cummatbudinxo_(pset.getParameter<edm::FileInPath>("cummatbudinxo")) {
25  //In this way we can easily generalize to associations between other objects also.
26  const edm::InputTag& label_cp_effic_tag = pset.getParameter<edm::InputTag>("label_cp_effic");
27  const edm::InputTag& label_cp_fake_tag = pset.getParameter<edm::InputTag>("label_cp_fake");
28 
29  label_cp_effic = consumes<std::vector<CaloParticle>>(label_cp_effic_tag);
30  label_cp_fake = consumes<std::vector<CaloParticle>>(label_cp_fake_tag);
31 
32  simVertices_ = consumes<std::vector<SimVertex>>(pset.getParameter<edm::InputTag>("simVertices"));
33 
34  for (auto& itag : label_clustersmask) {
35  clustersMaskTokens_.push_back(consumes<std::vector<float>>(itag));
36  }
37 
38  associatorMapSimtR = consumes<hgcal::SimToRecoCollectionWithSimClusters>(associatorSim_);
39  associatorMapRtSim = consumes<hgcal::RecoToSimCollectionWithSimClusters>(associatorSim_);
40 
41  hitMap_ = consumes<std::unordered_map<DetId, const HGCRecHit*>>(edm::InputTag("hgcalRecHitMapProducer"));
42 
43  density_ = consumes<Density>(edm::InputTag("hgcalLayerClusters"));
44 
45  simclusters_ = consumes<std::vector<SimCluster>>(pset.getParameter<edm::InputTag>("label_scl"));
46 
47  layerclusters_ = consumes<reco::CaloClusterCollection>(label_lcl);
48 
49  for (auto& itag : label_mcl) {
50  label_mclTokens.push_back(consumes<std::vector<reco::HGCalMultiCluster>>(itag));
51  }
52 
53  associatorMapRtS = consumes<hgcal::RecoToSimCollection>(associator_);
54  associatorMapStR = consumes<hgcal::SimToRecoCollection>(associator_);
55 
56  cpSelector = CaloParticleSelector(pset.getParameter<double>("ptMinCP"),
57  pset.getParameter<double>("ptMaxCP"),
58  pset.getParameter<double>("minRapidityCP"),
59  pset.getParameter<double>("maxRapidityCP"),
60  pset.getParameter<double>("lipCP"),
61  pset.getParameter<double>("tipCP"),
62  pset.getParameter<int>("minHitCP"),
63  pset.getParameter<int>("maxSimClustersCP"),
64  pset.getParameter<bool>("signalOnlyCP"),
65  pset.getParameter<bool>("intimeOnlyCP"),
66  pset.getParameter<bool>("chargedOnlyCP"),
67  pset.getParameter<bool>("stableOnlyCP"),
68  pset.getParameter<bool>("notConvertedOnlyCP"),
69  pset.getParameter<std::vector<int>>("pdgIdCP"));
70 
71  tools_.reset(new hgcal::RecHitTools());
72 
73  particles_to_monitor_ = pset.getParameter<std::vector<int>>("pdgIdCP");
74  totallayers_to_monitor_ = pset.getParameter<int>("totallayers_to_monitor");
75  thicknesses_to_monitor_ = pset.getParameter<std::vector<int>>("thicknesses_to_monitor");
76 
77  //For the material budget file here
78  std::ifstream fmb(cummatbudinxo_.fullPath().c_str());
79  double thelay = 0.;
80  double mbg = 0.;
81  for (unsigned ilayer = 1; ilayer <= totallayers_to_monitor_; ++ilayer) {
82  fmb >> thelay >> mbg;
83  cummatbudg.insert(std::pair<double, double>(thelay, mbg));
84  }
85 
86  fmb.close();
87 
88  ParameterSet psetForHistoProducerAlgo = pset.getParameter<ParameterSet>("histoProducerAlgoBlock");
89  histoProducerAlgo_ = std::make_unique<HGVHistoProducerAlgo>(psetForHistoProducerAlgo);
90 
91  dirName_ = pset.getParameter<std::string>("dirName");
92 }

References associator_, associatorMapRtS, associatorMapRtSim, associatorMapSimtR, associatorMapStR, associatorSim_, clustersMaskTokens_, edm::EDConsumerBase::consumes(), cpSelector, cummatbudg, cummatbudinxo_, density_, dirName_, fmb, edm::FileInPath::fullPath(), histoProducerAlgo_, hitMap_, HLT_FULL_cff::InputTag, label_clustersmask, label_cp_effic, label_cp_fake, label_lcl, label_mcl, label_mclTokens, layerclusters_, particles_to_monitor_, muonDTDigis_cfi::pset, simclusters_, simVertices_, AlCaHLTBitMon_QueryRunRegistry::string, thicknesses_to_monitor_, tools_, and totallayers_to_monitor_.

◆ ~HGCalValidator()

HGCalValidator::~HGCalValidator ( )
override

Destructor.

Definition at line 94 of file HGCalValidator.cc.

94 {}

Member Function Documentation

◆ bookHistograms()

void HGCalValidator::bookHistograms ( DQMStore::IBooker ibook,
edm::Run const &  ,
edm::EventSetup const &  setup,
Histograms histograms 
) const
overridevirtual

Method called to book the DQM histograms.

Implements DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >.

Definition at line 96 of file HGCalValidator.cc.

99  {
100  if (SaveGeneralInfo_) {
101  ibook.cd();
102  ibook.setCurrentFolder(dirName_ + "GeneralInfo");
103  histoProducerAlgo_->bookInfo(ibook, histograms.histoProducerAlgo);
104  }
105 
106  if (doCaloParticlePlots_) {
107  ibook.cd();
108 
109  for (auto const particle : particles_to_monitor_) {
110  ibook.setCurrentFolder(dirName_ + "SelectedCaloParticles/" + std::to_string(particle));
111  histoProducerAlgo_->bookCaloParticleHistos(
112  ibook, histograms.histoProducerAlgo, particle, totallayers_to_monitor_);
113  }
114  ibook.cd();
115  ibook.setCurrentFolder(dirName_);
116  }
117 
118  //Booking histograms concerning with simclusters
119  if (doSimClustersPlots_) {
120  ibook.cd();
121  ibook.setCurrentFolder(dirName_ + "simClusters/ClusterLevel");
122  histoProducerAlgo_->bookSimClusterHistos(
123  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
124 
125  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
126  ibook.cd();
128  string dirName = dirName_ + "simClusters/";
129  if (!algo.process().empty())
130  dirName += algo.process() + "_";
131  LogDebug("HGCalValidator") << dirName << "\n";
132  if (!algo.label().empty())
133  dirName += algo.label() + "_";
134  LogDebug("HGCalValidator") << dirName << "\n";
135  if (!algo.instance().empty())
136  dirName += algo.instance() + "_";
137  LogDebug("HGCalValidator") << dirName << "\n";
138 
139  if (!dirName.empty()) {
140  dirName.resize(dirName.size() - 1);
141  }
142 
143  LogDebug("HGCalValidator") << dirName << "\n";
144 
145  ibook.setCurrentFolder(dirName);
146 
147  histoProducerAlgo_->bookSimClusterAssociationHistos(
148  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
149  } //end of loop over masks
150  } //if for simcluster plots
151 
152  //Booking histograms concerning with hgcal layer clusters
153  if (doLayerClustersPlots_) {
154  ibook.cd();
155  ibook.setCurrentFolder(dirName_ + "hgcalLayerClusters/ClusterLevel");
156  histoProducerAlgo_->bookClusterHistos_ClusterLevel(ibook,
157  histograms.histoProducerAlgo,
161  ibook.cd();
162  ibook.setCurrentFolder(dirName_ + "hgcalLayerClusters/LCtoCP_association");
163  histoProducerAlgo_->bookClusterHistos_LCtoCP_association(
164  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
165 
166  ibook.cd();
167  ibook.setCurrentFolder(dirName_ + "hgcalLayerClusters/CellLevel");
168  histoProducerAlgo_->bookClusterHistos_CellLevel(
169  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
170  }
171 
172  //Booking histograms for multiclusters
173  for (unsigned int www = 0; www < label_mcl.size(); www++) {
174  ibook.cd();
175  InputTag algo = label_mcl[www];
176  string dirName = dirName_;
177  if (!algo.process().empty())
178  dirName += algo.process() + "_";
179  LogDebug("HGCalValidator") << dirName << "\n";
180  if (!algo.label().empty())
181  dirName += algo.label() + "_";
182  LogDebug("HGCalValidator") << dirName << "\n";
183  if (!algo.instance().empty())
184  dirName += algo.instance() + "_";
185  LogDebug("HGCalValidator") << dirName << "\n";
186 
187  if (!dirName.empty()) {
188  dirName.resize(dirName.size() - 1);
189  }
190 
191  LogDebug("HGCalValidator") << dirName << "\n";
192 
193  ibook.setCurrentFolder(dirName);
194 
195  //Booking histograms concerning for hgcal multi clusters
196  if (doMultiClustersPlots_) {
197  histoProducerAlgo_->bookMultiClusterHistos(ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
198  }
199  } //end of booking multiclusters loop
200 }

References dqm::implementation::NavigatorBase::cd(), cummatbudinxo_, TrackerOfflineValidation_Dqm_cff::dirName, dirName_, doCaloParticlePlots_, doLayerClustersPlots_, doMultiClustersPlots_, doSimClustersPlots_, edm::FileInPath::fullPath(), histoProducerAlgo_, label_clustersmask, label_mcl, LogDebug, particles_to_monitor_, SaveGeneralInfo_, dqm::implementation::NavigatorBase::setCurrentFolder(), thicknesses_to_monitor_, totallayers_to_monitor_, and gpuVertexFinder::ws.

◆ cpParametersAndSelection()

void HGCalValidator::cpParametersAndSelection ( const Histograms histograms,
std::vector< CaloParticle > const &  cPeff,
std::vector< SimVertex > const &  simVertices,
std::vector< size_t > &  selected_cPeff,
unsigned int  layers,
std::unordered_map< DetId, const HGCRecHit * > const &  hitMap 
) const

Definition at line 202 of file HGCalValidator.cc.

207  {
208  selected_cPeff.reserve(cPeff.size());
209 
210  size_t j = 0;
211  for (auto const& caloParticle : cPeff) {
212  int id = caloParticle.pdgId();
213 
215  selected_cPeff.push_back(j);
216  if (doCaloParticlePlots_) {
217  histoProducerAlgo_->fill_caloparticle_histos(
218  histograms.histoProducerAlgo, id, caloParticle, simVertices, layers, hitMap);
219  }
220  }
221  ++j;
222  } //end of loop over caloparticles
223 }

References cpSelector, doCaloParticlePlots_, doCaloParticleSelection_, histoProducerAlgo_, dqmiolumiharvest::j, hgcalTopologyTester_cfi::layers, and HGCalValidator_cfi::simVertices.

Referenced by dqmAnalyze().

◆ dqmAnalyze()

void HGCalValidator::dqmAnalyze ( const edm::Event event,
const edm::EventSetup setup,
const Histograms histograms 
) const
overridevirtual

Method called once per event.

Implements DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >.

Definition at line 225 of file HGCalValidator.cc.

227  {
228  using namespace reco;
229 
230  LogDebug("HGCalValidator") << "\n===================================================="
231  << "\n"
232  << "Analyzing new event"
233  << "\n"
234  << "====================================================\n"
235  << "\n";
236 
237  edm::Handle<std::vector<SimVertex>> simVerticesHandle;
238  event.getByToken(simVertices_, simVerticesHandle);
239  std::vector<SimVertex> const& simVertices = *simVerticesHandle;
240 
241  edm::Handle<std::vector<CaloParticle>> caloParticleHandle;
242  event.getByToken(label_cp_effic, caloParticleHandle);
243  std::vector<CaloParticle> const& caloParticles = *caloParticleHandle;
244 
246  tools_->setGeometry(*geom);
247  histoProducerAlgo_->setRecHitTools(tools_);
248 
249  edm::Handle<hgcal::SimToRecoCollection> simtorecoCollectionH;
250  event.getByToken(associatorMapStR, simtorecoCollectionH);
251  auto simRecColl = *simtorecoCollectionH;
252  edm::Handle<hgcal::RecoToSimCollection> recotosimCollectionH;
253  event.getByToken(associatorMapRtS, recotosimCollectionH);
254  auto recSimColl = *recotosimCollectionH;
255 
257  event.getByToken(hitMap_, hitMapHandle);
258  const std::unordered_map<DetId, const HGCRecHit*>* hitMap = &*hitMapHandle;
259 
260  //Some general info on layers etc.
261  if (SaveGeneralInfo_) {
262  histoProducerAlgo_->fill_info_histos(histograms.histoProducerAlgo, totallayers_to_monitor_);
263  }
264 
265  std::vector<size_t> cPIndices;
266  //Consider CaloParticles coming from the hard scatterer
267  //excluding the PU contribution and save the indices.
268  removeCPFromPU(caloParticles, cPIndices);
269 
270  // ##############################################
271  // fill caloparticles histograms
272  // ##############################################
273  // HGCRecHit are given to select the SimHits which are also reconstructed
274  LogTrace("HGCalValidator") << "\n# of CaloParticles: " << caloParticles.size() << "\n" << std::endl;
275  std::vector<size_t> selected_cPeff;
277 
278  //get collections from the event
279  //simClusters
280  edm::Handle<std::vector<SimCluster>> simClustersHandle;
281  event.getByToken(simclusters_, simClustersHandle);
282  std::vector<SimCluster> const& simclusters = *simClustersHandle;
283 
284  //Layer clusters
286  event.getByToken(layerclusters_, clusterHandle);
287  const reco::CaloClusterCollection& clusters = *clusterHandle;
288 
289  //Density
290  edm::Handle<Density> densityHandle;
291  event.getByToken(density_, densityHandle);
292  const Density& densities = *densityHandle;
293 
294  auto nSimClusters = simclusters.size();
295  std::vector<size_t> sCIndices;
296  //There shouldn't be any SimTracks from different crossings, but maybe they will be added later.
297  //At the moment there should be one SimTrack in each SimCluster.
298  for (unsigned int scId = 0; scId < nSimClusters; ++scId) {
299  if (simclusters[scId].g4Tracks()[0].eventId().event() != 0 or
300  simclusters[scId].g4Tracks()[0].eventId().bunchCrossing() != 0) {
301  LogDebug("HGCalValidator") << "Excluding SimClusters from event: "
302  << simclusters[scId].g4Tracks()[0].eventId().event()
303  << " with BX: " << simclusters[scId].g4Tracks()[0].eventId().bunchCrossing()
304  << std::endl;
305  continue;
306  }
307  sCIndices.emplace_back(scId);
308  }
309 
310  // ##############################################
311  // fill simcluster histograms
312  // ##############################################
313  if (doSimClustersPlots_) {
314  histoProducerAlgo_->fill_simcluster_histos(
316 
317  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
318  const auto& inputClusterMask = event.get(clustersMaskTokens_[ws]);
319 
321  event.getByToken(associatorMapSimtR, simtorecoCollectionH);
322  auto simRecColl = *simtorecoCollectionH;
324  event.getByToken(associatorMapRtSim, recotosimCollectionH);
325  auto recSimColl = *recotosimCollectionH;
326 
327  histoProducerAlgo_->fill_simclusterassosiation_histos(histograms.histoProducerAlgo,
328  ws,
329  clusterHandle,
330  clusters,
331  simClustersHandle,
332  simclusters,
333  sCIndices,
334  inputClusterMask,
335  *hitMap,
337  recSimColl,
338  simRecColl);
339 
340  //General Info on simClusters
341  LogTrace("HGCalValidator") << "\n# of simclusters: " << nSimClusters << " label_clustersmask[ws].label() "
342  << label_clustersmask[ws].label() << "\n";
343  } //end of loop overs masks
344  }
345 
346  // ##############################################
347  // fill layercluster histograms
348  // ##############################################
349  int w = 0; //counter counting the number of sets of histograms
350  if (doLayerClustersPlots_) {
351  histoProducerAlgo_->fill_generic_cluster_histos(histograms.histoProducerAlgo,
352  w,
353  clusterHandle,
354  clusters,
355  densities,
356  caloParticleHandle,
358  cPIndices,
359  selected_cPeff,
360  *hitMap,
361  cummatbudg,
364  recSimColl,
365  simRecColl);
366 
367  for (unsigned int layerclusterIndex = 0; layerclusterIndex < clusters.size(); layerclusterIndex++) {
368  histoProducerAlgo_->fill_cluster_histos(histograms.histoProducerAlgo, w, clusters[layerclusterIndex]);
369  }
370 
371  //General Info on hgcalLayerClusters
372  LogTrace("HGCalValidator") << "\n# of layer clusters with " << label_lcl.process() << ":" << label_lcl.label()
373  << ":" << label_lcl.instance() << ": " << clusters.size() << "\n";
374  }
375 
376  // ##############################################
377  // fill multicluster histograms
378  // ##############################################
379  for (unsigned int wml = 0; wml < label_mclTokens.size(); wml++) {
380  if (doMultiClustersPlots_) {
382  event.getByToken(label_mclTokens[wml], multiClusterHandle);
383  const std::vector<reco::HGCalMultiCluster>& multiClusters = *multiClusterHandle;
384 
385  histoProducerAlgo_->fill_multi_cluster_histos(histograms.histoProducerAlgo,
386  wml,
387  multiClusters,
389  cPIndices,
390  selected_cPeff,
391  *hitMap,
393 
394  //General Info on multiclusters
395  LogTrace("HGCalValidator") << "\n# of multi clusters with " << label_mcl[wml].process() << ":"
396  << label_mcl[wml].label() << ":" << label_mcl[wml].instance() << ": "
397  << multiClusters.size() << "\n"
398  << std::endl;
399  }
400  } //end of loop over multicluster input labels
401 }

References associatorMapRtS, associatorMapRtSim, associatorMapSimtR, associatorMapStR, caloGeomToken_, caloTruthCellsProducer_cfi::caloParticles, bsc_activity_cfg::clusters, clustersMaskTokens_, cpParametersAndSelection(), cummatbudg, density_, doLayerClustersPlots_, doMultiClustersPlots_, doSimClustersPlots_, edmPickEvents::event, relativeConstraints::geom, histoProducerAlgo_, hitMap_, edm::InputTag::instance(), edm::InputTag::label(), label_clustersmask, label_cp_effic, label_lcl, label_mcl, label_mclTokens, layerclusters_, LogDebug, LogTrace, or, edm::InputTag::process(), removeCPFromPU(), SaveGeneralInfo_, singleTopDQM_cfi::setup, SimTracksters_cff::simclusters, simclusters_, HGCalValidator_cfi::simVertices, simVertices_, thicknesses_to_monitor_, tools_, totallayers_to_monitor_, w, and gpuVertexFinder::ws.

Member Data Documentation

◆ associator_

edm::InputTag HGCalValidator::associator_
protected

Definition at line 66 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ associatorMapRtS

edm::EDGetTokenT<hgcal::RecoToSimCollection> HGCalValidator::associatorMapRtS
protected

Definition at line 87 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapRtSim

edm::EDGetTokenT<hgcal::RecoToSimCollectionWithSimClusters> HGCalValidator::associatorMapRtSim
protected

Definition at line 90 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapSimtR

edm::EDGetTokenT<hgcal::SimToRecoCollectionWithSimClusters> HGCalValidator::associatorMapSimtR
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapStR

edm::EDGetTokenT<hgcal::SimToRecoCollection> HGCalValidator::associatorMapStR
protected

Definition at line 88 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorSim_

edm::InputTag HGCalValidator::associatorSim_
protected

Definition at line 67 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ caloGeomToken_

edm::ESGetToken<CaloGeometry, CaloGeometryRecord> HGCalValidator::caloGeomToken_
protected

Definition at line 63 of file HGCalValidator.h.

Referenced by dqmAnalyze().

◆ clustersMaskTokens_

std::vector<edm::EDGetTokenT<std::vector<float> > > HGCalValidator::clustersMaskTokens_
protected

Definition at line 84 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ cpSelector

CaloParticleSelector HGCalValidator::cpSelector
private

Definition at line 94 of file HGCalValidator.h.

Referenced by cpParametersAndSelection(), and HGCalValidator().

◆ cummatbudg

std::map<double, double> HGCalValidator::cummatbudg
private

Definition at line 96 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ cummatbudinxo_

const edm::FileInPath HGCalValidator::cummatbudinxo_
protected

Definition at line 75 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ density_

edm::EDGetTokenT<Density> HGCalValidator::density_
protected

Definition at line 86 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ dirName_

std::string HGCalValidator::dirName_
private

Definition at line 100 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ doCaloParticlePlots_

const bool HGCalValidator::doCaloParticlePlots_
protected

Definition at line 69 of file HGCalValidator.h.

Referenced by bookHistograms(), and cpParametersAndSelection().

◆ doCaloParticleSelection_

const bool HGCalValidator::doCaloParticleSelection_
protected

Definition at line 70 of file HGCalValidator.h.

Referenced by cpParametersAndSelection().

◆ doLayerClustersPlots_

const bool HGCalValidator::doLayerClustersPlots_
protected

Definition at line 72 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doMultiClustersPlots_

const bool HGCalValidator::doMultiClustersPlots_
protected

Definition at line 73 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doSimClustersPlots_

const bool HGCalValidator::doSimClustersPlots_
protected

Definition at line 71 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ histoProducerAlgo_

std::unique_ptr<HGVHistoProducerAlgo> HGCalValidator::histoProducerAlgo_
protected

◆ hitMap_

edm::EDGetTokenT<std::unordered_map<DetId, const HGCRecHit*> > HGCalValidator::hitMap_
protected

Definition at line 85 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ label_clustersmask

std::vector<edm::InputTag> HGCalValidator::label_clustersmask
protected

Definition at line 74 of file HGCalValidator.h.

Referenced by bookHistograms(), dqmAnalyze(), and HGCalValidator().

◆ label_cp_effic

edm::EDGetTokenT<std::vector<CaloParticle> > HGCalValidator::label_cp_effic
protected

Definition at line 81 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ label_cp_fake

edm::EDGetTokenT<std::vector<CaloParticle> > HGCalValidator::label_cp_fake
protected

Definition at line 82 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_lcl

edm::InputTag HGCalValidator::label_lcl
protected

Definition at line 64 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ label_mcl

std::vector<edm::InputTag> HGCalValidator::label_mcl
protected

Definition at line 65 of file HGCalValidator.h.

Referenced by bookHistograms(), dqmAnalyze(), and HGCalValidator().

◆ label_mclTokens

std::vector<edm::EDGetTokenT<std::vector<reco::HGCalMultiCluster> > > HGCalValidator::label_mclTokens
protected

Definition at line 80 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ labelToken

std::vector<edm::EDGetTokenT<reco::CaloClusterCollection> > HGCalValidator::labelToken
protected

Definition at line 77 of file HGCalValidator.h.

◆ layerclusters_

edm::EDGetTokenT<reco::CaloClusterCollection> HGCalValidator::layerclusters_
protected

Definition at line 79 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ particles_to_monitor_

std::vector<int> HGCalValidator::particles_to_monitor_
private

Definition at line 97 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ SaveGeneralInfo_

const bool HGCalValidator::SaveGeneralInfo_
protected

Definition at line 68 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ simclusters_

edm::EDGetTokenT<std::vector<SimCluster> > HGCalValidator::simclusters_
protected

Definition at line 78 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simVertices_

edm::EDGetTokenT<std::vector<SimVertex> > HGCalValidator::simVertices_
protected

Definition at line 83 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ thicknesses_to_monitor_

std::vector<int> HGCalValidator::thicknesses_to_monitor_
private

Definition at line 99 of file HGCalValidator.h.

Referenced by bookHistograms(), dqmAnalyze(), and HGCalValidator().

◆ tools_

std::shared_ptr<hgcal::RecHitTools> HGCalValidator::tools_
private

Definition at line 95 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ totallayers_to_monitor_

unsigned HGCalValidator::totallayers_to_monitor_
private

Definition at line 98 of file HGCalValidator.h.

Referenced by bookHistograms(), dqmAnalyze(), and HGCalValidator().

HGCalValidator::label_cp_effic
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
Definition: HGCalValidator.h:81
HGCalValidator::cummatbudinxo_
const edm::FileInPath cummatbudinxo_
Definition: HGCalValidator.h:75
removeCPFromPU
void removeCPFromPU(const std::vector< CaloParticle > &caloParticles, std::vector< size_t > &cPIndices)
Definition: AssociatorTools.h:7
hgcal::RecHitTools
Definition: RecHitTools.h:23
HGCalValidator::doLayerClustersPlots_
const bool doLayerClustersPlots_
Definition: HGCalValidator.h:72
HGCalValidator::simclusters_
edm::EDGetTokenT< std::vector< SimCluster > > simclusters_
Definition: HGCalValidator.h:78
HGCalValidator::associatorMapStR
edm::EDGetTokenT< hgcal::SimToRecoCollection > associatorMapStR
Definition: HGCalValidator.h:88
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
HGCalValidator::associatorMapSimtR
edm::EDGetTokenT< hgcal::SimToRecoCollectionWithSimClusters > associatorMapSimtR
Definition: HGCalValidator.h:89
edm::InputTag::process
std::string const & process() const
Definition: InputTag.h:40
gpuVertexFinder::ws
auto &__restrict__ ws
Definition: gpuClusterTracksDBSCAN.h:32
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
edm::Handle
Definition: AssociativeIterator.h:50
HGCalValidator::associator_
edm::InputTag associator_
Definition: HGCalValidator.h:66
HGCalValidator::label_clustersmask
std::vector< edm::InputTag > label_clustersmask
Definition: HGCalValidator.h:74
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
cmsdt::algo
algo
Definition: constants.h:165
edm::FileInPath
Definition: FileInPath.h:64
HGCalValidator::cpSelector
CaloParticleSelector cpSelector
Definition: HGCalValidator.h:94
CaloParticleSelector
Definition: CaloParticleSelector.h:10
HGCalValidator::tools_
std::shared_ptr< hgcal::RecHitTools > tools_
Definition: HGCalValidator.h:95
w
const double w
Definition: UKUtility.cc:23
caloTruthCellsProducer_cfi.caloParticles
caloParticles
Definition: caloTruthCellsProducer_cfi.py:6
HGCalValidator::doMultiClustersPlots_
const bool doMultiClustersPlots_
Definition: HGCalValidator.h:73
reco::CaloClusterCollection
std::vector< CaloCluster > CaloClusterCollection
collection of CaloCluster objects
Definition: CaloClusterFwd.h:19
HGCalValidator::label_cp_fake
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_fake
Definition: HGCalValidator.h:82
edm::ESHandle< CaloGeometry >
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
relativeConstraints.geom
geom
Definition: relativeConstraints.py:72
SimTracksters_cff.simclusters
simclusters
Definition: SimTracksters_cff.py:23
HGCalValidator::label_mclTokens
std::vector< edm::EDGetTokenT< std::vector< reco::HGCalMultiCluster > > > label_mclTokens
Definition: HGCalValidator.h:80
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
bsc_activity_cfg.clusters
clusters
Definition: bsc_activity_cfg.py:36
HGCalValidator::totallayers_to_monitor_
unsigned totallayers_to_monitor_
Definition: HGCalValidator.h:98
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
HGCalValidator::simVertices_
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
Definition: HGCalValidator.h:83
HGCalValidator::caloGeomToken_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
Definition: HGCalValidator.h:63
HGCalValidator::doSimClustersPlots_
const bool doSimClustersPlots_
Definition: HGCalValidator.h:71
HGCalValidator::thicknesses_to_monitor_
std::vector< int > thicknesses_to_monitor_
Definition: HGCalValidator.h:99
HGCalValidator::histoProducerAlgo_
std::unique_ptr< HGVHistoProducerAlgo > histoProducerAlgo_
Definition: HGCalValidator.h:91
HGCalValidator::doCaloParticleSelection_
const bool doCaloParticleSelection_
Definition: HGCalValidator.h:70
edmPickEvents.event
event
Definition: edmPickEvents.py:273
HGCalValidator::label_lcl
edm::InputTag label_lcl
Definition: HGCalValidator.h:64
histograms
Definition: histograms.py:1
HGCalValidator::particles_to_monitor_
std::vector< int > particles_to_monitor_
Definition: HGCalValidator.h:97
HGCalValidator::label_mcl
std::vector< edm::InputTag > label_mcl
Definition: HGCalValidator.h:65
HGCalValidator::cummatbudg
std::map< double, double > cummatbudg
Definition: HGCalValidator.h:96
HGCalValidator::SaveGeneralInfo_
const bool SaveGeneralInfo_
Definition: HGCalValidator.h:68
HGCalValidator::associatorMapRtSim
edm::EDGetTokenT< hgcal::RecoToSimCollectionWithSimClusters > associatorMapRtSim
Definition: HGCalValidator.h:90
fmb
cc *****************************************************cc the common blocks pinput and cwdidth are for input parameters cc these parameters needed to be interfaced to other program common pinput fmb
Definition: inclcon.h:4
HGCalValidator::density_
edm::EDGetTokenT< Density > density_
Definition: HGCalValidator.h:86
TrackerOfflineValidation_Dqm_cff.dirName
dirName
Definition: TrackerOfflineValidation_Dqm_cff.py:55
or
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
HGCalValidator::dirName_
std::string dirName_
Definition: HGCalValidator.h:100
HGCalValidator::associatorSim_
edm::InputTag associatorSim_
Definition: HGCalValidator.h:67
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
HGCalValidator_cfi.simVertices
simVertices
Definition: HGCalValidator_cfi.py:57
HGCalValidator::cpParametersAndSelection
void cpParametersAndSelection(const Histograms &histograms, std::vector< CaloParticle > const &cPeff, std::vector< SimVertex > const &simVertices, std::vector< size_t > &selected_cPeff, unsigned int layers, std::unordered_map< DetId, const HGCRecHit * > const &) const
Definition: HGCalValidator.cc:202
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:155
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
HGCalValidator::layerclusters_
edm::EDGetTokenT< reco::CaloClusterCollection > layerclusters_
Definition: HGCalValidator.h:79
HGCalValidator::hitMap_
edm::EDGetTokenT< std::unordered_map< DetId, const HGCRecHit * > > hitMap_
Definition: HGCalValidator.h:85
HGCalValidator::clustersMaskTokens_
std::vector< edm::EDGetTokenT< std::vector< float > > > clustersMaskTokens_
Definition: HGCalValidator.h:84
edm::InputTag
Definition: InputTag.h:15
hgcalTopologyTester_cfi.layers
layers
Definition: hgcalTopologyTester_cfi.py:8
edm::FileInPath::fullPath
std::string fullPath() const
Definition: FileInPath.cc:161
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
Density
hgcal_clustering::Density Density
Definition: HGCalImagingAlgo.h:29
HGCalValidator::associatorMapRtS
edm::EDGetTokenT< hgcal::RecoToSimCollection > associatorMapRtS
Definition: HGCalValidator.h:87
HGCalValidator::doCaloParticlePlots_
const bool doCaloParticlePlots_
Definition: HGCalValidator.h:69