CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static 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
 
using SimClusterToCaloParticleMap = ticl::AssociationMap< ticl::oneToOneMapWithFraction, std::vector< SimCluster >, std::vector< CaloParticle > >
 
using TracksterToTracksterMap = ticl::AssociationMap< ticl::mapWithFractionAndScore, std::vector< ticl::Trackster >, std::vector< ticl::Trackster > >
 
- 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
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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 unsigned int > const &, std::vector< HGCRecHit > const &hits) 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 noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
bool wantsStreamLuminosityBlocks () const noexcept final
 
bool wantsStreamRuns () const noexcept 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > 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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- 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 Attributes

std::vector< edm::InputTagallTracksterTracksterAssociatorsLabels_
 
std::vector< edm::InputTagallTracksterTracksterByHitsAssociatorsLabels_
 
edm::InputTag associator_
 
edm::EDGetTokenT< ticl::RecoToSimCollectionassociatorMapRtS
 
edm::EDGetTokenT< ticl::RecoToSimCollectionWithSimClustersassociatorMapRtSim
 
edm::EDGetTokenT< ticl::SimToRecoCollectionWithSimClustersassociatorMapSimtR
 
edm::EDGetTokenT< ticl::SimToRecoCollectionassociatorMapStR
 
edm::InputTag associatorSim_
 
edm::ESGetToken< CaloGeometry, CaloGeometryRecordcaloGeomToken_
 
std::unique_ptr< TICLCandidateValidatorcandidateVal_
 
std::vector< edm::EDGetTokenT< std::vector< float > > > clustersMaskTokens_
 
const edm::FileInPath cummatbudinxo_
 
const bool doCaloParticlePlots_
 
const bool doCaloParticleSelection_
 
const bool doCandidatesPlots_
 
const bool doLayerClustersPlots_
 
const bool doSimClustersPlots_
 
const bool doTrackstersPlots_
 
std::unique_ptr< HGVHistoProducerAlgohistoProducerAlgo_
 
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_
 
std::vector< edm::InputTaghits_label_
 
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
 
const bool isTICLv5_
 
std::string label_candidates_
 
std::vector< edm::InputTaglabel_clustersmask
 
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
 
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_fake
 
edm::InputTag label_layerClustersPlots_
 
edm::InputTag label_lcl
 
edm::InputTag label_LCToCPLinking_
 
edm::InputTag label_SimClustersLevel_
 
edm::InputTag label_SimClustersPlots_
 
edm::InputTag label_simTS
 
edm::InputTag label_simTSFromCP
 
std::string label_TS_
 
std::string label_TSbyHits_
 
std::string label_TSbyHitsCP_
 
std::string label_TSbyLCs_
 
std::string label_TSbyLCsCP_
 
std::vector< edm::InputTaglabel_tst
 
std::vector< edm::EDGetTokenT< ticl::TracksterCollection > > label_tstTokens
 
std::vector< edm::EDGetTokenT< reco::CaloClusterCollection > > labelToken
 
edm::EDGetTokenT< reco::CaloClusterCollectionlayerclusters_
 
const bool SaveGeneralInfo_
 
edm::EDGetTokenT< SimClusterToCaloParticleMapscToCpMapToken_
 
edm::EDGetTokenT< std::vector< SimCluster > > simClusters_
 
edm::EDGetTokenT< ticl::TracksterCollectionsimTracksters_
 
edm::EDGetTokenT< ticl::TracksterCollectionsimTracksters_fromCPs_
 
edm::EDGetTokenT< std::map< uint, std::vector< uint > > > simTrackstersMap_
 
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
 
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterAssociatorsTokens_
 
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterByHitsAssociatorsTokens_
 
- Protected Attributes inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
DQMStoredqmstore_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Private Attributes

CaloParticleSelector cpSelector
 
std::map< double, double > cumulative_material_budget
 
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

- Protected Member Functions inherited from DQMGlobalEDAnalyzerBase< HGCalValidatorHistograms, Args... >
uint64_t meId (edm::Run const &run) const
 
- Protected Member Functions inherited from edm::ProducerBase
template<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

Class that produces histograms to validate HGCal Reconstruction performances

Author
HGCal

Definition at line 43 of file HGCalValidator.h.

Member Typedef Documentation

◆ Histograms

Definition at line 45 of file HGCalValidator.h.

◆ SimClusterToCaloParticleMap

Definition at line 49 of file HGCalValidator.h.

◆ TracksterToTracksterMap

Definition at line 47 of file HGCalValidator.h.

Constructor & Destructor Documentation

◆ HGCalValidator()

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

Constructor.

Definition at line 63 of file HGCalValidator.cc.

References allTracksterTracksterAssociatorsLabels_, allTracksterTracksterByHitsAssociatorsLabels_, associator_, associatorMapRtS, associatorMapRtSim, associatorMapSimtR, associatorMapStR, associatorSim_, candidateVal_, clustersMaskTokens_, edm::EDConsumerBase::consumes(), cpSelector, cummatbudinxo_, cumulative_material_budget, dirName_, doCandidatesPlots_, fmb, edm::FileInPath::fullPath(), histoProducerAlgo_, hitMap_, hits_label_, hits_token_, ProducerED_cfi::InputTag, isTICLv5_, label, label_clustersmask, label_cp_effic, label_cp_fake, label_lcl, label_simTS, label_simTSFromCP, label_tst, label_tstTokens, layerclusters_, particles_to_monitor_, muonDTDigis_cfi::pset, simClusters_, simTracksters_, simTracksters_fromCPs_, simTrackstersMap_, simVertices_, AlCaHLTBitMon_QueryRunRegistry::string, makeGlobalPositionRcd_cfg::tag, thicknesses_to_monitor_, tools_, totallayers_to_monitor_, tracksterToTracksterAssociatorsTokens_, and tracksterToTracksterByHitsAssociatorsTokens_.

64  : caloGeomToken_(esConsumes<CaloGeometry, CaloGeometryRecord>()),
65  label_lcl(pset.getParameter<edm::InputTag>("label_lcl")),
66  label_tst(pset.getParameter<std::vector<edm::InputTag>>("label_tst")),
68  pset.getParameter<std::vector<edm::InputTag>>("allTracksterTracksterAssociatorsLabels")),
70  pset.getParameter<std::vector<edm::InputTag>>("allTracksterTracksterByHitsAssociatorsLabels")),
71  label_simTS(pset.getParameter<edm::InputTag>("label_simTS")),
72  label_simTSFromCP(pset.getParameter<edm::InputTag>("label_simTSFromCP")),
73  associator_(pset.getUntrackedParameter<edm::InputTag>("associator")),
74  associatorSim_(pset.getUntrackedParameter<edm::InputTag>("associatorSim")),
75  SaveGeneralInfo_(pset.getUntrackedParameter<bool>("SaveGeneralInfo")),
76  doCaloParticlePlots_(pset.getUntrackedParameter<bool>("doCaloParticlePlots")),
77  doCaloParticleSelection_(pset.getUntrackedParameter<bool>("doCaloParticleSelection")),
78  doSimClustersPlots_(pset.getUntrackedParameter<bool>("doSimClustersPlots")),
79  label_SimClustersPlots_(pset.getParameter<edm::InputTag>("label_SimClusters")),
80  label_SimClustersLevel_(pset.getParameter<edm::InputTag>("label_SimClustersLevel")),
81  doLayerClustersPlots_(pset.getUntrackedParameter<bool>("doLayerClustersPlots")),
82  label_layerClustersPlots_(pset.getParameter<edm::InputTag>("label_layerClusterPlots")),
83  label_LCToCPLinking_(pset.getParameter<edm::InputTag>("label_LCToCPLinking")),
84  doTrackstersPlots_(pset.getUntrackedParameter<bool>("doTrackstersPlots")),
85  label_TS_(pset.getParameter<std::string>("label_TS")),
86  label_TSbyHitsCP_(pset.getParameter<std::string>("label_TSbyHitsCP")),
87  label_TSbyHits_(pset.getParameter<std::string>("label_TSbyHits")),
88  label_TSbyLCsCP_(pset.getParameter<std::string>("label_TSbyLCsCP")),
89  label_TSbyLCs_(pset.getParameter<std::string>("label_TSbyLCs")),
90  label_clustersmask(pset.getParameter<std::vector<edm::InputTag>>("LayerClustersInputMask")),
91  doCandidatesPlots_(pset.getUntrackedParameter<bool>("doCandidatesPlots")),
92  label_candidates_(pset.getParameter<std::string>("ticlCandidates")),
93  cummatbudinxo_(pset.getParameter<edm::FileInPath>("cummatbudinxo")),
94  isTICLv5_(pset.getUntrackedParameter<bool>("isticlv5")),
95  hits_label_(pset.getParameter<std::vector<edm::InputTag>>("hits")),
97  consumes<SimClusterToCaloParticleMap>(pset.getParameter<edm::InputTag>("simClustersToCaloParticlesMap"))) {
98  //In this way we can easily generalize to associations between other objects also.
99  const edm::InputTag& label_cp_effic_tag = pset.getParameter<edm::InputTag>("label_cp_effic");
100  const edm::InputTag& label_cp_fake_tag = pset.getParameter<edm::InputTag>("label_cp_fake");
101 
102  for (auto& label : hits_label_) {
103  hits_token_.push_back(consumes<HGCRecHitCollection>(label));
104  }
105  label_cp_effic = consumes<std::vector<CaloParticle>>(label_cp_effic_tag);
106  label_cp_fake = consumes<std::vector<CaloParticle>>(label_cp_fake_tag);
107 
108  simVertices_ = consumes<std::vector<SimVertex>>(pset.getParameter<edm::InputTag>("simVertices"));
109 
110  for (auto& itag : label_clustersmask) {
111  clustersMaskTokens_.push_back(consumes<std::vector<float>>(itag));
112  }
113 
114  associatorMapSimtR = consumes<ticl::SimToRecoCollectionWithSimClusters>(associatorSim_);
115  associatorMapRtSim = consumes<ticl::RecoToSimCollectionWithSimClusters>(associatorSim_);
116 
117  simTrackstersMap_ = consumes<std::map<uint, std::vector<uint>>>(edm::InputTag("ticlSimTracksters"));
118 
119  hitMap_ =
120  consumes<std::unordered_map<DetId, const unsigned int>>(edm::InputTag("recHitMapProducer", "hgcalRecHitMap"));
121 
122  simClusters_ = consumes<std::vector<SimCluster>>(pset.getParameter<edm::InputTag>("label_scl"));
123 
124  layerclusters_ = consumes<reco::CaloClusterCollection>(label_lcl);
125  for (const auto& tag : allTracksterTracksterAssociatorsLabels_) {
126  tracksterToTracksterAssociatorsTokens_.emplace_back(consumes<TracksterToTracksterMap>(tag));
127  }
128 
130  tracksterToTracksterByHitsAssociatorsTokens_.emplace_back(consumes<TracksterToTracksterMap>(tag));
131  }
132 
133  if (doCandidatesPlots_) {
134  edm::EDGetTokenT<std::vector<TICLCandidate>> TICLCandidatesToken =
135  consumes<std::vector<TICLCandidate>>(pset.getParameter<edm::InputTag>("ticlTrackstersMerge"));
136  edm::EDGetTokenT<std::vector<TICLCandidate>> simTICLCandidatesToken =
137  consumes<std::vector<TICLCandidate>>(pset.getParameter<edm::InputTag>("simTiclCandidates"));
139  consumes<std::vector<reco::Track>>(pset.getParameter<edm::InputTag>("recoTracks"));
141  consumes<std::vector<ticl::Trackster>>(pset.getParameter<edm::InputTag>("ticlTrackstersMerge"));
143  consumes<ticl::TracksterToTracksterMap>(pset.getParameter<edm::InputTag>("mergeRecoToSimAssociator"));
145  consumes<ticl::TracksterToTracksterMap>(pset.getParameter<edm::InputTag>("mergeSimToRecoAssociator"));
146 
147  candidateVal_ = std::make_unique<TICLCandidateValidator>(TICLCandidatesToken,
148  simTICLCandidatesToken,
149  recoTracksToken,
150  trackstersToken,
151  associatorMapRtSToken,
152  associatorMapStRToken,
153  isTICLv5_);
154  }
155 
156  for (auto& itag : label_tst) {
157  label_tstTokens.push_back(consumes<ticl::TracksterCollection>(itag));
158  }
159 
160  simTracksters_ = consumes<ticl::TracksterCollection>(label_simTS);
161  simTracksters_fromCPs_ = consumes<ticl::TracksterCollection>(label_simTSFromCP);
162 
163  associatorMapRtS = consumes<ticl::RecoToSimCollection>(associator_);
164  associatorMapStR = consumes<ticl::SimToRecoCollection>(associator_);
165 
166  cpSelector = CaloParticleSelector(pset.getParameter<double>("ptMinCP"),
167  pset.getParameter<double>("ptMaxCP"),
168  pset.getParameter<double>("minRapidityCP"),
169  pset.getParameter<double>("maxRapidityCP"),
170  pset.getParameter<double>("lipCP"),
171  pset.getParameter<double>("tipCP"),
172  pset.getParameter<int>("minHitCP"),
173  pset.getParameter<int>("maxSimClustersCP"),
174  pset.getParameter<bool>("signalOnlyCP"),
175  pset.getParameter<bool>("intimeOnlyCP"),
176  pset.getParameter<bool>("chargedOnlyCP"),
177  pset.getParameter<bool>("stableOnlyCP"),
178  pset.getParameter<bool>("notConvertedOnlyCP"),
179  pset.getParameter<std::vector<int>>("pdgIdCP"));
180 
181  tools_.reset(new hgcal::RecHitTools());
182 
183  particles_to_monitor_ = pset.getParameter<std::vector<int>>("pdgIdCP");
184  totallayers_to_monitor_ = pset.getParameter<int>("totallayers_to_monitor");
185  thicknesses_to_monitor_ = pset.getParameter<std::vector<int>>("thicknesses_to_monitor");
186 
187  //For the material budget file here
188  std::ifstream fmb(cummatbudinxo_.fullPath().c_str());
189  double thelay = 0.;
190  double mbg = 0.;
191  for (unsigned ilayer = 1; ilayer <= totallayers_to_monitor_; ++ilayer) {
192  fmb >> thelay >> mbg;
193  cumulative_material_budget.insert(std::pair<double, double>(thelay, mbg));
194  }
195 
196  fmb.close();
197 
198  ParameterSet psetForHistoProducerAlgo = pset.getParameter<ParameterSet>("histoProducerAlgoBlock");
199  histoProducerAlgo_ = std::make_unique<HGVHistoProducerAlgo>(psetForHistoProducerAlgo);
200 
201  dirName_ = pset.getParameter<std::string>("dirName");
202 }
std::string label_TSbyLCsCP_
edm::InputTag associator_
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_
std::vector< edm::InputTag > label_tst
std::vector< edm::InputTag > allTracksterTracksterAssociatorsLabels_
std::unique_ptr< HGVHistoProducerAlgo > histoProducerAlgo_
CaloParticleSelector cpSelector
const bool doCaloParticlePlots_
const bool doCandidatesPlots_
unsigned totallayers_to_monitor_
std::vector< int > thicknesses_to_monitor_
edm::InputTag label_simTS
const bool SaveGeneralInfo_
std::string label_TSbyLCs_
const bool doLayerClustersPlots_
edm::EDGetTokenT< ticl::RecoToSimCollectionWithSimClusters > associatorMapRtSim
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
char const * label
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
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
std::string dirName_
edm::EDGetTokenT< ticl::SimToRecoCollectionWithSimClusters > associatorMapSimtR
std::string label_TSbyHitsCP_
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_fake
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
std::string label_TSbyHits_
const bool doCaloParticleSelection_
std::vector< edm::EDGetTokenT< ticl::TracksterCollection > > label_tstTokens
std::shared_ptr< hgcal::RecHitTools > tools_
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterByHitsAssociatorsTokens_
edm::EDGetTokenT< SimClusterToCaloParticleMap > scToCpMapToken_
std::map< double, double > cumulative_material_budget
edm::EDGetTokenT< ticl::SimToRecoCollection > associatorMapStR
edm::InputTag label_LCToCPLinking_
edm::InputTag label_simTSFromCP
edm::EDGetTokenT< reco::CaloClusterCollection > layerclusters_
const bool doTrackstersPlots_
const edm::FileInPath cummatbudinxo_
edm::EDGetTokenT< ticl::TracksterCollection > simTracksters_
std::vector< edm::InputTag > label_clustersmask
std::vector< edm::EDGetTokenT< std::vector< float > > > clustersMaskTokens_
std::unique_ptr< TICLCandidateValidator > candidateVal_
edm::EDGetTokenT< std::vector< SimCluster > > simClusters_
std::string label_candidates_
edm::InputTag label_SimClustersPlots_
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterAssociatorsTokens_
edm::InputTag label_SimClustersLevel_
std::vector< int > particles_to_monitor_
const bool doSimClustersPlots_
edm::InputTag label_lcl
const std::string & fullPath() const
Definition: FileInPath.cc:144
std::vector< edm::InputTag > allTracksterTracksterByHitsAssociatorsLabels_
edm::EDGetTokenT< ticl::RecoToSimCollection > associatorMapRtS
edm::EDGetTokenT< std::map< uint, std::vector< uint > > > simTrackstersMap_
edm::EDGetTokenT< ticl::TracksterCollection > simTracksters_fromCPs_
std::string label_TS_
std::vector< edm::InputTag > hits_label_
edm::InputTag associatorSim_
const bool isTICLv5_
edm::InputTag label_layerClustersPlots_

◆ ~HGCalValidator()

HGCalValidator::~HGCalValidator ( )
override

Destructor.

Definition at line 204 of file HGCalValidator.cc.

204 {}

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 206 of file HGCalValidator.cc.

References candidateVal_, dqm::implementation::NavigatorBase::cd(), cummatbudinxo_, TrackerOfflineValidation_Dqm_cff::dirName, dirName_, doCaloParticlePlots_, doCandidatesPlots_, doLayerClustersPlots_, doSimClustersPlots_, doTrackstersPlots_, edm::FileInPath::fullPath(), histoProducerAlgo_, edm::InputTag::label(), label_candidates_, label_clustersmask, label_layerClustersPlots_, label_LCToCPLinking_, label_SimClustersLevel_, label_SimClustersPlots_, label_TS_, label_TSbyHits_, label_TSbyHitsCP_, label_TSbyLCs_, label_TSbyLCsCP_, label_tst, LogDebug, particles_to_monitor_, SaveGeneralInfo_, dqm::implementation::NavigatorBase::setCurrentFolder(), thicknesses_to_monitor_, to_string(), totallayers_to_monitor_, and ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::ws.

209  {
210  if (SaveGeneralInfo_) {
211  ibook.cd();
212  ibook.setCurrentFolder(dirName_ + "GeneralInfo");
213  histoProducerAlgo_->bookInfo(ibook, histograms.histoProducerAlgo);
214  }
215 
216  if (doCaloParticlePlots_) {
217  ibook.cd();
218 
219  for (auto const particle : particles_to_monitor_) {
220  ibook.setCurrentFolder(dirName_ + "SelectedCaloParticles/" + std::to_string(particle));
221  histoProducerAlgo_->bookCaloParticleHistos(
222  ibook, histograms.histoProducerAlgo, particle, totallayers_to_monitor_);
223  }
224  ibook.cd();
225  ibook.setCurrentFolder(dirName_);
226  }
227 
228  //Booking histograms concerning with simClusters
229  if (doSimClustersPlots_) {
230  ibook.cd();
232  histoProducerAlgo_->bookSimClusterHistos(
233  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
234 
235  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
236  ibook.cd();
238  string dirName = dirName_ + label_SimClustersPlots_.label() + "/";
239  if (!algo.process().empty())
240  dirName += algo.process() + "_";
241  LogDebug("HGCalValidator") << dirName << "\n";
242  if (!algo.label().empty())
243  dirName += algo.label() + "_";
244  LogDebug("HGCalValidator") << dirName << "\n";
245  if (!algo.instance().empty())
246  dirName += algo.instance() + "_";
247  LogDebug("HGCalValidator") << dirName << "\n";
248 
249  if (!dirName.empty()) {
250  dirName.resize(dirName.size() - 1);
251  }
252 
253  LogDebug("HGCalValidator") << dirName << "\n";
254 
255  ibook.setCurrentFolder(dirName);
256 
257  histoProducerAlgo_->bookSimClusterAssociationHistos(
258  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
259  } //end of loop over masks
260  } //if for simCluster plots
261 
262  //Booking histograms concerning with hgcal layer clusters
263  if (doLayerClustersPlots_) {
264  ibook.cd();
265  ibook.setCurrentFolder(dirName_ + label_layerClustersPlots_.label() + "/ClusterLevel");
266  histoProducerAlgo_->bookClusterHistos_ClusterLevel(ibook,
267  histograms.histoProducerAlgo,
271  ibook.cd();
273  histoProducerAlgo_->bookClusterHistos_LCtoCP_association(
274  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
275 
276  ibook.cd();
277  ibook.setCurrentFolder(dirName_ + label_layerClustersPlots_.label() + "/CellLevel");
278  histoProducerAlgo_->bookClusterHistos_CellLevel(
279  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
280  }
281 
282  //Booking histograms for Tracksters
283  for (unsigned int www = 0; www < label_tst.size(); www++) {
284  ibook.cd();
285  InputTag algo = label_tst[www];
286  string dirName = dirName_;
287  if (!algo.process().empty())
288  dirName += algo.process() + "_";
289  LogDebug("HGCalValidator") << dirName << "\n";
290  if (!algo.label().empty())
291  dirName += algo.label() + "_";
292  LogDebug("HGCalValidator") << dirName << "\n";
293  if (!algo.instance().empty())
294  dirName += algo.instance() + "_";
295  LogDebug("HGCalValidator") << dirName << "\n";
296 
297  if (!dirName.empty()) {
298  dirName.resize(dirName.size() - 1);
299  }
300 
301  ibook.setCurrentFolder(dirName);
302 
303  // Booking histograms concerning HGCal tracksters
304  if (doTrackstersPlots_) {
305  // Generic histos
306  ibook.setCurrentFolder(dirName + "/" + label_TS_);
307  histoProducerAlgo_->bookTracksterHistos(ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
308  // CP Linking by Hits
310  histoProducerAlgo_->bookTracksterSTSHistos(
311  ibook, histograms.histoProducerAlgo, HGVHistoProducerAlgo::validationType::byHits_CP);
312  // CP Linking by LCs
314 
315  histoProducerAlgo_->bookTracksterSTSHistos(
316  ibook, histograms.histoProducerAlgo, HGVHistoProducerAlgo::validationType::byLCs_CP);
317  // SimTracksters Linking by Hits
319  histoProducerAlgo_->bookTracksterSTSHistos(
320  ibook, histograms.histoProducerAlgo, HGVHistoProducerAlgo::validationType::byHits);
321  // SimTracksters Linking by LCs
322  ibook.setCurrentFolder(dirName + "/" + label_TSbyLCs_);
323  histoProducerAlgo_->bookTracksterSTSHistos(
324  ibook, histograms.histoProducerAlgo, HGVHistoProducerAlgo::validationType::byLCs);
325  }
326  } //end of booking Tracksters loop
327 
328  // Booking histograms concerning TICL candidates
329  if (doCandidatesPlots_) {
330  ibook.cd();
332  candidateVal_->bookCandidatesHistos(ibook, histograms.histoTICLCandidates, dirName_ + label_candidates_);
333  }
334 }
std::string label_TSbyLCsCP_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::vector< edm::InputTag > label_tst
std::unique_ptr< HGVHistoProducerAlgo > histoProducerAlgo_
const bool doCaloParticlePlots_
const bool doCandidatesPlots_
std::string const & label() const
Definition: InputTag.h:36
unsigned totallayers_to_monitor_
std::vector< int > thicknesses_to_monitor_
static std::string to_string(const XMLCh *ch)
const bool SaveGeneralInfo_
std::string label_TSbyLCs_
const bool doLayerClustersPlots_
std::string dirName_
std::string label_TSbyHitsCP_
std::string label_TSbyHits_
edm::InputTag label_LCToCPLinking_
const bool doTrackstersPlots_
const edm::FileInPath cummatbudinxo_
std::vector< edm::InputTag > label_clustersmask
std::unique_ptr< TICLCandidateValidator > candidateVal_
std::string label_candidates_
edm::InputTag label_SimClustersPlots_
edm::InputTag label_SimClustersLevel_
std::vector< int > particles_to_monitor_
const bool doSimClustersPlots_
const std::string & fullPath() const
Definition: FileInPath.cc:144
std::string label_TS_
edm::InputTag label_layerClustersPlots_
#define LogDebug(id)

◆ 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 unsigned int > const &  hitMap,
std::vector< HGCRecHit > const &  hits 
) const

Definition at line 336 of file HGCalValidator.cc.

References cpSelector, doCaloParticlePlots_, doCaloParticleSelection_, histoProducerAlgo_, hfClusterShapes_cfi::hits, dqmiolumiharvest::j, and hgcalTBTopologyTester_cfi::layers.

Referenced by dqmAnalyze().

342  {
343  selected_cPeff.reserve(cPeff.size());
344 
345  size_t j = 0;
346  for (auto const& caloParticle : cPeff) {
347  int id = caloParticle.pdgId();
348 
349  if (!doCaloParticleSelection_ || (doCaloParticleSelection_ && cpSelector(caloParticle, simVertices))) {
350  selected_cPeff.push_back(j);
351  if (doCaloParticlePlots_) {
352  histoProducerAlgo_->fill_caloparticle_histos(
353  histograms.histoProducerAlgo, id, caloParticle, simVertices, layers, hitMap, hits);
354  }
355  }
356  ++j;
357  } //end of loop over caloparticles
358 }
std::unique_ptr< HGVHistoProducerAlgo > histoProducerAlgo_
CaloParticleSelector cpSelector
const bool doCaloParticlePlots_
const bool doCaloParticleSelection_

◆ 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 360 of file HGCalValidator.cc.

References associatorMapRtS, associatorMapRtSim, associatorMapSimtR, associatorMapStR, caloGeomToken_, caloTruthCellsProducer_cfi::caloParticles, candidateVal_, bsc_activity_cfg::clusters, clustersMaskTokens_, cpParametersAndSelection(), cumulative_material_budget, doCandidatesPlots_, doLayerClustersPlots_, doSimClustersPlots_, doTrackstersPlots_, edmPickEvents::event, relativeConstraints::geom, histoProducerAlgo_, hitMap_, hfClusterShapes_cfi::hits, hits_token_, edm::HandleBase::id(), edm::InputTag::instance(), edm::InputTag::label(), label_clustersmask, label_cp_effic, label_lcl, label_tstTokens, layerclusters_, LogDebug, LogTrace, or, edm::InputTag::process(), removeCPFromPU(), SaveGeneralInfo_, scToCpMapToken_, singleTopDQM_cfi::setup, SimClusterToCaloParticleAssociation_cfi::simClusters, simClusters_, simTracksters_, simTracksters_fromCPs_, simTrackstersMap_, simVertices_, thicknesses_to_monitor_, unpackBuffers-CaloStage2::token, tools_, totallayers_to_monitor_, HitToTracksterAssociation_cfi::tracksters, tracksterToTracksterAssociatorsTokens_, tracksterToTracksterByHitsAssociatorsTokens_, w(), and ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::ws.

362  {
363  using namespace reco;
364 
365  LogDebug("HGCalValidator") << "\n===================================================="
366  << "\n"
367  << "Analyzing new event"
368  << "\n"
369  << "====================================================\n"
370  << "\n";
371 
372  edm::Handle<std::vector<SimVertex>> simVerticesHandle;
373  event.getByToken(simVertices_, simVerticesHandle);
374  std::vector<SimVertex> const& simVertices = *simVerticesHandle;
375 
376  edm::Handle<std::vector<CaloParticle>> caloParticleHandle;
377  event.getByToken(label_cp_effic, caloParticleHandle);
378  std::vector<CaloParticle> const& caloParticles = *caloParticleHandle;
379 
380  edm::Handle<ticl::TracksterCollection> simTracksterHandle;
381  event.getByToken(simTracksters_, simTracksterHandle);
382  ticl::TracksterCollection const& simTracksters = *simTracksterHandle;
383 
384  edm::Handle<ticl::TracksterCollection> simTracksterFromCPHandle;
385  event.getByToken(simTracksters_fromCPs_, simTracksterFromCPHandle);
386  ticl::TracksterCollection const& simTrackstersFromCPs = *simTracksterFromCPHandle;
387 
388  edm::Handle<std::map<uint, std::vector<uint>>> simTrackstersMapHandle;
389  event.getByToken(simTrackstersMap_, simTrackstersMapHandle);
390  const std::map<uint, std::vector<uint>> cpToSc_SimTrackstersMap = *simTrackstersMapHandle;
391 
393  tools_->setGeometry(*geom);
394  histoProducerAlgo_->setRecHitTools(tools_);
395 
396  edm::Handle<ticl::SimToRecoCollection> simtorecoCollectionH;
397  event.getByToken(associatorMapStR, simtorecoCollectionH);
398  auto simRecColl = *simtorecoCollectionH;
399  edm::Handle<ticl::RecoToSimCollection> recotosimCollectionH;
400  event.getByToken(associatorMapRtS, recotosimCollectionH);
401  auto recSimColl = *recotosimCollectionH;
402 
404  event.getByToken(hitMap_, hitMapHandle);
405  const std::unordered_map<DetId, const unsigned int>* hitMap = &*hitMapHandle;
406 
407  std::vector<HGCRecHit> hits;
408  for (auto& token : hits_token_) {
410  event.getByToken(token, hitsHandle);
411  hits.insert(hits.end(), (*hitsHandle).begin(), (*hitsHandle).end());
412  }
413 
414  //Some general info on layers etc.
415  if (SaveGeneralInfo_) {
416  histoProducerAlgo_->fill_info_histos(histograms.histoProducerAlgo, totallayers_to_monitor_);
417  }
418 
419  std::vector<size_t> cPIndices;
420  //Consider CaloParticles coming from the hard scatterer
421  //excluding the PU contribution and save the indices.
422  removeCPFromPU(caloParticles, cPIndices);
423 
424  // ##############################################
425  // Fill caloparticles histograms
426  // ##############################################
427  // HGCRecHit are given to select the SimHits which are also reconstructed
428  LogTrace("HGCalValidator") << "\n# of CaloParticles: " << caloParticles.size() << "\n" << std::endl;
429  std::vector<size_t> selected_cPeff;
431  histograms, caloParticles, simVertices, selected_cPeff, totallayers_to_monitor_, *hitMap, hits);
432 
433  //get collections from the event
434  //simClusters
435  edm::Handle<std::vector<SimCluster>> simClustersHandle;
436  event.getByToken(simClusters_, simClustersHandle);
437  std::vector<SimCluster> const& simClusters = *simClustersHandle;
438 
439  //Layer clusters
441  event.getByToken(layerclusters_, clusterHandle);
442  const reco::CaloClusterCollection& clusters = *clusterHandle;
443 
444  std::vector<edm::Handle<TracksterToTracksterMap>> tracksterToTracksterMapsHandles;
446  edm::Handle<TracksterToTracksterMap> tracksterToTracksterMapHandle;
447  event.getByToken(token, tracksterToTracksterMapHandle);
448  tracksterToTracksterMapsHandles.push_back(tracksterToTracksterMapHandle);
449  }
450 
451  std::vector<edm::Handle<TracksterToTracksterMap>> tracksterToTracksterByHitsMapsHandles;
453  edm::Handle<TracksterToTracksterMap> tracksterToTracksterByHitsMapHandle;
454  event.getByToken(token, tracksterToTracksterByHitsMapHandle);
455  tracksterToTracksterByHitsMapsHandles.push_back(tracksterToTracksterByHitsMapHandle);
456  }
457 
459  event.getByToken(scToCpMapToken_, scToCpMapHandle);
460  const SimClusterToCaloParticleMap& scToCpMap = *scToCpMapHandle;
461 
462  auto nSimClusters = simClusters.size();
463  std::vector<size_t> sCIndices;
464  //There shouldn't be any SimTracks from different crossings, but maybe they will be added later.
465  //At the moment there should be one SimTrack in each SimCluster.
466  for (unsigned int scId = 0; scId < nSimClusters; ++scId) {
467  if (simClusters[scId].g4Tracks()[0].eventId().event() != 0 or
468  simClusters[scId].g4Tracks()[0].eventId().bunchCrossing() != 0) {
469  LogDebug("HGCalValidator") << "Excluding SimClusters from event: "
470  << simClusters[scId].g4Tracks()[0].eventId().event()
471  << " with BX: " << simClusters[scId].g4Tracks()[0].eventId().bunchCrossing()
472  << std::endl;
473  continue;
474  }
475  sCIndices.emplace_back(scId);
476  }
477 
478  // ##############################################
479  // Fill simCluster histograms
480  // ##############################################
481  if (doSimClustersPlots_) {
482  histoProducerAlgo_->fill_simCluster_histos(
484 
485  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
486  const auto& inputClusterMask = event.get(clustersMaskTokens_[ws]);
487 
489  event.getByToken(associatorMapSimtR, simtorecoCollectionH);
490  auto simRecColl = *simtorecoCollectionH;
492  event.getByToken(associatorMapRtSim, recotosimCollectionH);
493  auto recSimColl = *recotosimCollectionH;
494 
495  histoProducerAlgo_->fill_simClusterAssociation_histos(histograms.histoProducerAlgo,
496  ws,
497  clusterHandle,
498  clusters,
499  simClustersHandle,
500  simClusters,
501  sCIndices,
502  inputClusterMask,
503  *hitMap,
505  recSimColl,
506  simRecColl,
507  hits);
508 
509  //General Info on simClusters
510  LogTrace("HGCalValidator") << "\n# of SimClusters: " << nSimClusters
511  << ", layerClusters mask label: " << label_clustersmask[ws].label() << "\n";
512  } //end of loop overs masks
513  }
514 
515  // ##############################################
516  // Fill layercluster histograms
517  // ##############################################
518  int w = 0; //counter counting the number of sets of histograms
519  if (doLayerClustersPlots_) {
520  histoProducerAlgo_->fill_generic_cluster_histos(histograms.histoProducerAlgo,
521  w,
522  clusterHandle,
523  clusters,
524  caloParticleHandle,
526  cPIndices,
527  selected_cPeff,
528  *hitMap,
532  recSimColl,
533  simRecColl,
534  hits);
535 
536  for (unsigned int layerclusterIndex = 0; layerclusterIndex < clusters.size(); layerclusterIndex++) {
537  histoProducerAlgo_->fill_cluster_histos(histograms.histoProducerAlgo, w, clusters[layerclusterIndex]);
538  }
539 
540  //General Info on hgcalLayerClusters
541  LogTrace("HGCalValidator") << "\n# of layer clusters with " << label_lcl.process() << ":" << label_lcl.label()
542  << ":" << label_lcl.instance() << ": " << clusters.size() << "\n";
543  }
544 
545  // ##############################################
546  // Fill Trackster histograms
547  // ##############################################
548  for (unsigned int wml = 0; wml < label_tstTokens.size(); wml++) {
549  if (doTrackstersPlots_) {
551  event.getByToken(label_tstTokens[wml], tracksterHandle);
552  const ticl::TracksterCollection& tracksters = *tracksterHandle;
553  if (tracksterHandle.id() == simTracksterHandle.id() or tracksterHandle.id() == simTracksterFromCPHandle.id())
554  continue;
555  edm::Handle<TracksterToTracksterMap> trackstersToSimTrackstersMapH, simTrackstersToTrackstersMapH,
556  trackstersToSimTrackstersFromCPsMapH, simTrackstersFromCPsToTrackstersMapH,
557  trackstersToSimTrackstersByHitsMapH, simTrackstersToTrackstersByHitsMapH,
558  trackstersToSimTrackstersFromCPsByHitsMapH, simTrackstersFromCPsToTrackstersByHitsMapH;
559 
560  bool mapsFound = assignTracksterMaps(tracksterHandle,
561  simTracksterHandle,
562  simTracksterFromCPHandle,
563  tracksterToTracksterMapsHandles,
564  trackstersToSimTrackstersMapH,
565  simTrackstersToTrackstersMapH,
566  trackstersToSimTrackstersFromCPsMapH,
567  simTrackstersFromCPsToTrackstersMapH);
568 
569  mapsFound = mapsFound and assignTracksterMaps(tracksterHandle,
570  simTracksterHandle,
571  simTracksterFromCPHandle,
572  tracksterToTracksterByHitsMapsHandles,
573  trackstersToSimTrackstersByHitsMapH,
574  simTrackstersToTrackstersByHitsMapH,
575  trackstersToSimTrackstersFromCPsByHitsMapH,
576  simTrackstersFromCPsToTrackstersByHitsMapH);
577 
578  histoProducerAlgo_->fill_trackster_histos(histograms.histoProducerAlgo,
579  wml,
580  tracksters,
581  clusters,
582  simTracksters,
583  simTrackstersFromCPs,
584  cpToSc_SimTrackstersMap,
585  simClusters,
586  caloParticleHandle.id(),
588  cPIndices,
589  selected_cPeff,
590  *hitMap,
592  hits,
593  mapsFound,
594  trackstersToSimTrackstersMapH,
595  simTrackstersToTrackstersMapH,
596  trackstersToSimTrackstersFromCPsMapH,
597  simTrackstersFromCPsToTrackstersMapH,
598  trackstersToSimTrackstersByHitsMapH,
599  simTrackstersToTrackstersByHitsMapH,
600  trackstersToSimTrackstersFromCPsByHitsMapH,
601  simTrackstersFromCPsToTrackstersByHitsMapH,
602  scToCpMap);
603  }
604  } //end of loop over Trackster input labels
605 
606  // tracksters histograms
607  if (doCandidatesPlots_) {
608  candidateVal_->fillCandidateHistos(event, histograms.histoTICLCandidates, simTracksterFromCPHandle);
609  }
610 }
ProductID id() const
Definition: HandleBase.cc:29
T w() const
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_
std::string const & instance() const
Definition: InputTag.h:37
std::unique_ptr< HGVHistoProducerAlgo > histoProducerAlgo_
const bool doCandidatesPlots_
std::string const & label() const
Definition: InputTag.h:36
unsigned totallayers_to_monitor_
std::vector< int > thicknesses_to_monitor_
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 unsigned int > const &, std::vector< HGCRecHit > const &hits) const
#define LogTrace(id)
const bool SaveGeneralInfo_
const bool doLayerClustersPlots_
edm::EDGetTokenT< ticl::RecoToSimCollectionWithSimClusters > associatorMapRtSim
ticl::AssociationMap< ticl::oneToOneMapWithFraction, std::vector< SimCluster >, std::vector< CaloParticle > > SimClusterToCaloParticleMap
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
edm::EDGetTokenT< ticl::SimToRecoCollectionWithSimClusters > associatorMapSimtR
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
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
std::vector< edm::EDGetTokenT< ticl::TracksterCollection > > label_tstTokens
std::shared_ptr< hgcal::RecHitTools > tools_
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
std::vector< CaloCluster > CaloClusterCollection
collection of CaloCluster objects
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterByHitsAssociatorsTokens_
edm::EDGetTokenT< SimClusterToCaloParticleMap > scToCpMapToken_
std::map< double, double > cumulative_material_budget
edm::EDGetTokenT< ticl::SimToRecoCollection > associatorMapStR
edm::EDGetTokenT< reco::CaloClusterCollection > layerclusters_
const bool doTrackstersPlots_
edm::EDGetTokenT< ticl::TracksterCollection > simTracksters_
static void removeCPFromPU(const std::vector< CaloParticle > &caloParticles, std::vector< size_t > &cPIndices, bool hardScatterOnly=true)
std::vector< edm::InputTag > label_clustersmask
std::vector< edm::EDGetTokenT< std::vector< float > > > clustersMaskTokens_
std::unique_ptr< TICLCandidateValidator > candidateVal_
edm::EDGetTokenT< std::vector< SimCluster > > simClusters_
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterAssociatorsTokens_
fixed size matrix
const bool doSimClustersPlots_
std::vector< Trackster > TracksterCollection
Definition: Trackster.h:254
edm::InputTag label_lcl
edm::EDGetTokenT< ticl::RecoToSimCollection > associatorMapRtS
std::string const & process() const
Definition: InputTag.h:40
edm::EDGetTokenT< std::map< uint, std::vector< uint > > > simTrackstersMap_
edm::EDGetTokenT< ticl::TracksterCollection > simTracksters_fromCPs_
Definition: event.py:1
#define LogDebug(id)

◆ fillDescriptions()

void HGCalValidator::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 612 of file HGCalValidator.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

612  {
613  // hgcalValidator
615  desc.add<double>("ptMinCP", 0.5);
616  desc.add<double>("ptMaxCP", 300.0);
617  desc.add<double>("minRapidityCP", -3.1);
618  desc.add<double>("maxRapidityCP", 3.1);
619  desc.add<double>("lipCP", 30.0);
620  desc.add<double>("tipCP", 60);
621  desc.add<bool>("chargedOnlyCP", false);
622  desc.add<bool>("stableOnlyCP", false);
623  desc.add<bool>("notConvertedOnlyCP", true);
624  desc.add<std::vector<int>>("pdgIdCP",
625  {
626  11,
627  -11,
628  13,
629  -13,
630  22,
631  111,
632  211,
633  -211,
634  321,
635  -321,
636  311,
637  130,
638  310,
639  });
640  desc.add<bool>("signalOnlyCP", true);
641  desc.add<bool>("intimeOnlyCP", true);
642  desc.add<int>("minHitCP", 0);
643  desc.add<int>("maxSimClustersCP", -1);
644  {
646  psd1.add<double>("minEta", -4.5);
647  psd1.add<double>("maxEta", 4.5);
648  psd1.add<int>("nintEta", 100);
649  psd1.add<bool>("useFabsEta", false);
650  psd1.add<double>("minEne", 0.0);
651  psd1.add<double>("maxEne", 500.0);
652  psd1.add<int>("nintEne", 250);
653  psd1.add<double>("minPt", 0.0);
654  psd1.add<double>("maxPt", 100.0);
655  psd1.add<int>("nintPt", 100);
656  psd1.add<double>("minPhi", -3.2);
657  psd1.add<double>("maxPhi", 3.2);
658  psd1.add<int>("nintPhi", 80);
659  psd1.add<double>("minMixedHitsSimCluster", 0.0);
660  psd1.add<double>("maxMixedHitsSimCluster", 800.0);
661  psd1.add<int>("nintMixedHitsSimCluster", 100);
662  psd1.add<double>("minMixedHitsCluster", 0.0);
663  psd1.add<double>("maxMixedHitsCluster", 800.0);
664  psd1.add<int>("nintMixedHitsCluster", 100);
665  psd1.add<double>("minEneCl", 0.0);
666  psd1.add<double>("maxEneCl", 110.0);
667  psd1.add<int>("nintEneCl", 110);
668  psd1.add<double>("minLongDepBary", 0.0);
669  psd1.add<double>("maxLongDepBary", 110.0);
670  psd1.add<int>("nintLongDepBary", 110);
671  psd1.add<double>("minZpos", -550.0);
672  psd1.add<double>("maxZpos", 550.0);
673  psd1.add<int>("nintZpos", 1100);
674  psd1.add<double>("minTotNsimClsperlay", 0.0);
675  psd1.add<double>("maxTotNsimClsperlay", 50.0);
676  psd1.add<int>("nintTotNsimClsperlay", 50);
677  psd1.add<double>("minTotNClsperlay", 0.0);
678  psd1.add<double>("maxTotNClsperlay", 50.0);
679  psd1.add<int>("nintTotNClsperlay", 50);
680  psd1.add<double>("minEneClperlay", 0.0);
681  psd1.add<double>("maxEneClperlay", 110.0);
682  psd1.add<int>("nintEneClperlay", 110);
683  psd1.add<double>("minScore", 0.0);
684  psd1.add<double>("maxScore", 1.02);
685  psd1.add<int>("nintScore", 51);
686  psd1.add<double>("minSharedEneFrac", 0.0);
687  psd1.add<double>("maxSharedEneFrac", 1.02);
688  psd1.add<int>("nintSharedEneFrac", 51);
689  psd1.add<double>("minTSTSharedEneFracEfficiency", 0.5);
690  psd1.add<double>("minTSTSharedEneFrac", 0.0);
691  psd1.add<double>("maxTSTSharedEneFrac", 1.01);
692  psd1.add<int>("nintTSTSharedEneFrac", 101);
693  psd1.add<double>("minTotNsimClsperthick", 0.0);
694  psd1.add<double>("maxTotNsimClsperthick", 800.0);
695  psd1.add<int>("nintTotNsimClsperthick", 100);
696  psd1.add<double>("minTotNClsperthick", 0.0);
697  psd1.add<double>("maxTotNClsperthick", 800.0);
698  psd1.add<int>("nintTotNClsperthick", 100);
699  psd1.add<double>("minTotNcellsperthickperlayer", 0.0);
700  psd1.add<double>("maxTotNcellsperthickperlayer", 500.0);
701  psd1.add<int>("nintTotNcellsperthickperlayer", 100);
702  psd1.add<double>("minDisToSeedperthickperlayer", 0.0);
703  psd1.add<double>("maxDisToSeedperthickperlayer", 300.0);
704  psd1.add<int>("nintDisToSeedperthickperlayer", 100);
705  psd1.add<double>("minDisToSeedperthickperlayerenewei", 0.0);
706  psd1.add<double>("maxDisToSeedperthickperlayerenewei", 10.0);
707  psd1.add<int>("nintDisToSeedperthickperlayerenewei", 50);
708  psd1.add<double>("minDisToMaxperthickperlayer", 0.0);
709  psd1.add<double>("maxDisToMaxperthickperlayer", 300.0);
710  psd1.add<int>("nintDisToMaxperthickperlayer", 100);
711  psd1.add<double>("minDisToMaxperthickperlayerenewei", 0.0);
712  psd1.add<double>("maxDisToMaxperthickperlayerenewei", 50.0);
713  psd1.add<int>("nintDisToMaxperthickperlayerenewei", 50);
714  psd1.add<double>("minDisSeedToMaxperthickperlayer", 0.0);
715  psd1.add<double>("maxDisSeedToMaxperthickperlayer", 300.0);
716  psd1.add<int>("nintDisSeedToMaxperthickperlayer", 100);
717  psd1.add<double>("minClEneperthickperlayer", 0.0);
718  psd1.add<double>("maxClEneperthickperlayer", 10.0);
719  psd1.add<int>("nintClEneperthickperlayer", 100);
720  psd1.add<double>("minCellsEneDensperthick", 0.0);
721  psd1.add<double>("maxCellsEneDensperthick", 100.0);
722  psd1.add<int>("nintCellsEneDensperthick", 200);
723  psd1.add<double>("minTotNTSTs", 0.0);
724  psd1.add<double>("maxTotNTSTs", 50.0);
725  psd1.add<int>("nintTotNTSTs", 50);
726  psd1.add<double>("minTotNClsinTSTs", 0.0);
727  psd1.add<double>("maxTotNClsinTSTs", 400.0);
728  psd1.add<int>("nintTotNClsinTSTs", 100);
729 
730  psd1.add<double>("minTotNClsinTSTsperlayer", 0.0);
731  psd1.add<double>("maxTotNClsinTSTsperlayer", 50.0);
732  psd1.add<int>("nintTotNClsinTSTsperlayer", 50);
733  psd1.add<double>("minMplofLCs", 0.0);
734  psd1.add<double>("maxMplofLCs", 20.0);
735  psd1.add<int>("nintMplofLCs", 20);
736  psd1.add<double>("minSizeCLsinTSTs", 0.0);
737  psd1.add<double>("maxSizeCLsinTSTs", 50.0);
738  psd1.add<int>("nintSizeCLsinTSTs", 50);
739  psd1.add<double>("minClEnepermultiplicity", 0.0);
740  psd1.add<double>("maxClEnepermultiplicity", 10.0);
741  psd1.add<int>("nintClEnepermultiplicity", 10);
742  psd1.add<double>("minX", -300.0);
743  psd1.add<double>("maxX", 300.0);
744  psd1.add<int>("nintX", 100);
745  psd1.add<double>("minY", -300.0);
746  psd1.add<double>("maxY", 300.0);
747  psd1.add<int>("nintY", 100);
748  psd1.add<double>("minZ", -550.0);
749  psd1.add<double>("maxZ", 550.0);
750  psd1.add<int>("nintZ", 1100);
751  desc.add<edm::ParameterSetDescription>("histoProducerAlgoBlock", psd1);
752  }
753  desc.add<std::vector<edm::InputTag>>("hits",
754  {
755  edm::InputTag("HGCalRecHit", "HGCEERecHits"),
756  edm::InputTag("HGCalRecHit", "HGCHEFRecHits"),
757  edm::InputTag("HGCalRecHit", "HGCHEBRecHits"),
758  });
759  desc.add<edm::InputTag>("label_lcl", edm::InputTag("hgcalMergeLayerClusters"));
760  desc.add<std::vector<edm::InputTag>>("label_tst",
761  {
762  edm::InputTag("ticlTrackstersCLUE3DHigh"),
763  edm::InputTag("ticlTrackstersMerge"),
764  edm::InputTag("ticlSimTracksters", "fromCPs"),
765  edm::InputTag("ticlSimTracksters"),
766  });
767  desc.add<edm::InputTag>("label_simTS", edm::InputTag("ticlSimTracksters"));
768  desc.add<edm::InputTag>("label_simTSFromCP", edm::InputTag("ticlSimTracksters", "fromCPs"));
769  desc.addUntracked<edm::InputTag>("associator", edm::InputTag("layerClusterCaloParticleAssociationProducer"));
770  desc.addUntracked<edm::InputTag>("associatorSim", edm::InputTag("layerClusterSimClusterAssociationProducer"));
771  desc.addUntracked<bool>("SaveGeneralInfo", true);
772  desc.addUntracked<bool>("doCaloParticlePlots", true);
773  desc.addUntracked<bool>("doCaloParticleSelection", true);
774  desc.addUntracked<bool>("doSimClustersPlots", true);
775  desc.add<edm::InputTag>("label_SimClusters", edm::InputTag("SimClusters"));
776  desc.add<edm::InputTag>("label_SimClustersLevel", edm::InputTag("ClusterLevel"));
777  desc.addUntracked<bool>("doLayerClustersPlots", true);
778  desc.add<edm::InputTag>("label_layerClusterPlots", edm::InputTag("hgcalMergeLayerClusters"));
779  desc.add<edm::InputTag>("label_LCToCPLinking", edm::InputTag("LCToCP_association"));
780  desc.addUntracked<bool>("doTrackstersPlots", true);
781  desc.add<std::string>("label_TS", "Morphology");
782  desc.add<std::string>("label_TSbyHitsCP", "TSbyHits_CP");
783  desc.add<std::string>("label_TSbyHits", "TSbyHits");
784  desc.add<std::string>("label_TSbyLCs", "TSbyLCs");
785  desc.add<std::string>("label_TSbyLCsCP", "TSbyLCs_CP");
786  desc.add<edm::InputTag>("simClustersToCaloParticlesMap",
787  edm::InputTag("SimClusterToCaloParticleAssociation", "simClusterToCaloParticleMap"));
788  desc.add<std::vector<edm::InputTag>>(
789  "allTracksterTracksterAssociatorsLabels",
790  {
791  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlTrackstersCLUE3DHighToticlSimTracksters"),
792  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlSimTrackstersToticlTrackstersCLUE3DHigh"),
793  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs",
794  "ticlTrackstersCLUE3DHighToticlSimTrackstersfromCPs"),
795  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs",
796  "ticlSimTrackstersfromCPsToticlTrackstersCLUE3DHigh"),
797  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlTracksterLinksToticlSimTracksters"),
798  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlSimTrackstersToticlTracksterLinks"),
799  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs",
800  "ticlTracksterLinksToticlSimTrackstersfromCPs"),
801  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs",
802  "ticlSimTrackstersfromCPsToticlTracksterLinks"),
803  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlCandidateToticlSimTracksters"),
804  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlSimTrackstersToticlCandidate"),
805  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlCandidateToticlSimTrackstersfromCPs"),
806  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlSimTrackstersfromCPsToticlCandidate"),
807  });
808  desc.add<std::vector<edm::InputTag>>(
809  "allTracksterTracksterByHitsAssociatorsLabels",
810  {
811  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
812  "ticlTrackstersCLUE3DHighToticlSimTracksters"),
813  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
814  "ticlSimTrackstersToticlTrackstersCLUE3DHigh"),
815  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
816  "ticlTrackstersCLUE3DHighToticlSimTrackstersfromCPs"),
817  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
818  "ticlSimTrackstersfromCPsToticlTrackstersCLUE3DHigh"),
819  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlTracksterLinksToticlSimTracksters"),
820  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlSimTrackstersToticlTracksterLinks"),
821  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
822  "ticlTracksterLinksToticlSimTrackstersfromCPs"),
823  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits",
824  "ticlSimTrackstersfromCPsToticlTracksterLinks"),
825  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlCandidateToticlSimTracksters"),
826  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlSimTrackstersToticlCandidate"),
827  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlCandidateToticlSimTrackstersfromCPs"),
828  edm::InputTag("allTrackstersToSimTrackstersAssociationsByHits", "ticlSimTrackstersfromCPsToticlCandidate"),
829  });
830  desc.addUntracked<bool>("doCandidatesPlots", true);
831  desc.add<std::string>("ticlCandidates", "ticlCandidates");
832  desc.add<edm::InputTag>("ticlTrackstersMerge", edm::InputTag("ticlTrackstersMerge"));
833  desc.add<edm::InputTag>("simTiclCandidates", edm::InputTag("ticlSimTracksters"));
834  desc.add<edm::InputTag>("recoTracks", edm::InputTag("generalTracks"));
835  desc.add<edm::InputTag>(
836  "mergeRecoToSimAssociator",
837  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlTrackstersMergeToticlSimTrackstersfromCPs"));
838  desc.add<edm::InputTag>(
839  "mergeSimToRecoAssociator",
840  edm::InputTag("allTrackstersToSimTrackstersAssociationsByLCs", "ticlSimTrackstersfromCPsToticlTrackstersMerge"));
841  desc.add<edm::FileInPath>("cummatbudinxo", edm::FileInPath("Validation/HGCalValidation/data/D41.cumulative.xo"));
842  desc.add<edm::InputTag>("label_cp_effic", edm::InputTag("mix", "MergedCaloTruth"));
843  desc.add<edm::InputTag>("label_cp_fake", edm::InputTag("mix", "MergedCaloTruth"));
844  desc.add<edm::InputTag>("label_scl", edm::InputTag("mix", "MergedCaloTruth"));
845  desc.add<edm::InputTag>("simVertices", edm::InputTag("g4SimHits"));
846  desc.add<std::vector<edm::InputTag>>("LayerClustersInputMask",
847  {
848  edm::InputTag("ticlTrackstersCLUE3DHigh"),
849  edm::InputTag("ticlSimTracksters", "fromCPs"),
850  edm::InputTag("ticlSimTracksters"),
851  });
852  desc.add<int>("totallayers_to_monitor", 52);
853  desc.add<std::vector<int>>("thicknesses_to_monitor",
854  {
855  120,
856  200,
857  300,
858  -1,
859  });
860  desc.add<std::string>("dirName", "HGCAL/HGCalValidator/");
861  desc.addUntracked<bool>("isticlv5", false);
862  descriptions.add("hgcalValidator", desc);
863 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ allTracksterTracksterAssociatorsLabels_

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

Definition at line 76 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ allTracksterTracksterByHitsAssociatorsLabels_

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

Definition at line 77 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ associator_

edm::InputTag HGCalValidator::associator_
protected

Definition at line 79 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ associatorMapRtS

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

Definition at line 108 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapRtSim

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

Definition at line 111 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapSimtR

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

Definition at line 110 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapStR

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

Definition at line 109 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorSim_

edm::InputTag HGCalValidator::associatorSim_
protected

Definition at line 80 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ caloGeomToken_

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

Definition at line 73 of file HGCalValidator.h.

Referenced by dqmAnalyze().

◆ candidateVal_

std::unique_ptr<TICLCandidateValidator> HGCalValidator::candidateVal_
protected

Definition at line 115 of file HGCalValidator.h.

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

◆ clustersMaskTokens_

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

Definition at line 106 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ cpSelector

CaloParticleSelector HGCalValidator::cpSelector
private

Definition at line 121 of file HGCalValidator.h.

Referenced by cpParametersAndSelection(), and HGCalValidator().

◆ cummatbudinxo_

const edm::FileInPath HGCalValidator::cummatbudinxo_
protected

Definition at line 93 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ cumulative_material_budget

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

Definition at line 123 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ dirName_

std::string HGCalValidator::dirName_
private

Definition at line 127 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ doCaloParticlePlots_

const bool HGCalValidator::doCaloParticlePlots_
protected

Definition at line 82 of file HGCalValidator.h.

Referenced by bookHistograms(), and cpParametersAndSelection().

◆ doCaloParticleSelection_

const bool HGCalValidator::doCaloParticleSelection_
protected

Definition at line 83 of file HGCalValidator.h.

Referenced by cpParametersAndSelection().

◆ doCandidatesPlots_

const bool HGCalValidator::doCandidatesPlots_
protected

Definition at line 91 of file HGCalValidator.h.

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

◆ doLayerClustersPlots_

const bool HGCalValidator::doLayerClustersPlots_
protected

Definition at line 86 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doSimClustersPlots_

const bool HGCalValidator::doSimClustersPlots_
protected

Definition at line 84 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doTrackstersPlots_

const bool HGCalValidator::doTrackstersPlots_
protected

Definition at line 88 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 unsigned int> > HGCalValidator::hitMap_
protected

Definition at line 107 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ hits_label_

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

Definition at line 113 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ hits_token_

std::vector<edm::EDGetTokenT<HGCRecHitCollection> > HGCalValidator::hits_token_
protected

Definition at line 114 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ isTICLv5_

const bool HGCalValidator::isTICLv5_
protected

Definition at line 94 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_candidates_

std::string HGCalValidator::label_candidates_
protected

Definition at line 92 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_clustersmask

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

Definition at line 90 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 103 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 104 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_layerClustersPlots_

edm::InputTag HGCalValidator::label_layerClustersPlots_
protected

Definition at line 87 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_lcl

edm::InputTag HGCalValidator::label_lcl
protected

Definition at line 74 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ label_LCToCPLinking_

edm::InputTag HGCalValidator::label_LCToCPLinking_
protected

Definition at line 87 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_SimClustersLevel_

edm::InputTag HGCalValidator::label_SimClustersLevel_
protected

Definition at line 85 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_SimClustersPlots_

edm::InputTag HGCalValidator::label_SimClustersPlots_
protected

Definition at line 85 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_simTS

edm::InputTag HGCalValidator::label_simTS
protected

Definition at line 78 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_simTSFromCP

edm::InputTag HGCalValidator::label_simTSFromCP
protected

Definition at line 78 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_TS_

std::string HGCalValidator::label_TS_
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_TSbyHits_

std::string HGCalValidator::label_TSbyHits_
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_TSbyHitsCP_

std::string HGCalValidator::label_TSbyHitsCP_
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_TSbyLCs_

std::string HGCalValidator::label_TSbyLCs_
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_TSbyLCsCP_

std::string HGCalValidator::label_TSbyLCsCP_
protected

Definition at line 89 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_tst

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

Definition at line 75 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ label_tstTokens

std::vector<edm::EDGetTokenT<ticl::TracksterCollection> > HGCalValidator::label_tstTokens
protected

Definition at line 99 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ labelToken

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

Definition at line 96 of file HGCalValidator.h.

◆ layerclusters_

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

Definition at line 98 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ particles_to_monitor_

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

Definition at line 124 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ SaveGeneralInfo_

const bool HGCalValidator::SaveGeneralInfo_
protected

Definition at line 81 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ scToCpMapToken_

edm::EDGetTokenT<SimClusterToCaloParticleMap> HGCalValidator::scToCpMapToken_
protected

Definition at line 118 of file HGCalValidator.h.

Referenced by dqmAnalyze().

◆ simClusters_

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

Definition at line 97 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTracksters_

edm::EDGetTokenT<ticl::TracksterCollection> HGCalValidator::simTracksters_
protected

Definition at line 100 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTracksters_fromCPs_

edm::EDGetTokenT<ticl::TracksterCollection> HGCalValidator::simTracksters_fromCPs_
protected

Definition at line 101 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTrackstersMap_

edm::EDGetTokenT<std::map<uint, std::vector<uint> > > HGCalValidator::simTrackstersMap_
protected

Definition at line 102 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simVertices_

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

Definition at line 105 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ thicknesses_to_monitor_

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

Definition at line 126 of file HGCalValidator.h.

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

◆ tools_

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

Definition at line 122 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ totallayers_to_monitor_

unsigned HGCalValidator::totallayers_to_monitor_
private

Definition at line 125 of file HGCalValidator.h.

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

◆ tracksterToTracksterAssociatorsTokens_

std::vector<edm::EDGetTokenT<TracksterToTracksterMap> > HGCalValidator::tracksterToTracksterAssociatorsTokens_
protected

Definition at line 116 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ tracksterToTracksterByHitsAssociatorsTokens_

std::vector<edm::EDGetTokenT<TracksterToTracksterMap> > HGCalValidator::tracksterToTracksterByHitsAssociatorsTokens_
protected

Definition at line 117 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().