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
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)
 

Protected Attributes

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::vector< edm::InputTaglabel_tst
 
std::string label_TSToCPLinking_
 
std::string label_TSToSTSPR_
 
std::vector< edm::EDGetTokenT< ticl::TracksterCollection > > label_tstTokens
 
std::vector< edm::EDGetTokenT< reco::CaloClusterCollection > > labelToken
 
edm::EDGetTokenT< reco::CaloClusterCollectionlayerclusters_
 
const bool SaveGeneralInfo_
 
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_
 
- 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

- 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<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 41 of file HGCalValidator.h.

Member Typedef Documentation

◆ Histograms

Definition at line 43 of file HGCalValidator.h.

Constructor & Destructor Documentation

◆ HGCalValidator()

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

Constructor.

Definition at line 11 of file HGCalValidator.cc.

References 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, thicknesses_to_monitor_, tools_, and totallayers_to_monitor_.

12  : caloGeomToken_(esConsumes<CaloGeometry, CaloGeometryRecord>()),
13  label_lcl(pset.getParameter<edm::InputTag>("label_lcl")),
14  label_tst(pset.getParameter<std::vector<edm::InputTag>>("label_tst")),
15  label_simTS(pset.getParameter<edm::InputTag>("label_simTS")),
16  label_simTSFromCP(pset.getParameter<edm::InputTag>("label_simTSFromCP")),
17  associator_(pset.getUntrackedParameter<edm::InputTag>("associator")),
18  associatorSim_(pset.getUntrackedParameter<edm::InputTag>("associatorSim")),
19  SaveGeneralInfo_(pset.getUntrackedParameter<bool>("SaveGeneralInfo")),
20  doCaloParticlePlots_(pset.getUntrackedParameter<bool>("doCaloParticlePlots")),
21  doCaloParticleSelection_(pset.getUntrackedParameter<bool>("doCaloParticleSelection")),
22  doSimClustersPlots_(pset.getUntrackedParameter<bool>("doSimClustersPlots")),
23  label_SimClustersPlots_(pset.getParameter<edm::InputTag>("label_SimClusters")),
24  label_SimClustersLevel_(pset.getParameter<edm::InputTag>("label_SimClustersLevel")),
25  doLayerClustersPlots_(pset.getUntrackedParameter<bool>("doLayerClustersPlots")),
26  label_layerClustersPlots_(pset.getParameter<edm::InputTag>("label_layerClusterPlots")),
27  label_LCToCPLinking_(pset.getParameter<edm::InputTag>("label_LCToCPLinking")),
28  doTrackstersPlots_(pset.getUntrackedParameter<bool>("doTrackstersPlots")),
29  label_TS_(pset.getParameter<std::string>("label_TS")),
30  label_TSToCPLinking_(pset.getParameter<std::string>("label_TSToCPLinking")),
31  label_TSToSTSPR_(pset.getParameter<std::string>("label_TSToSTSPR")),
32  label_clustersmask(pset.getParameter<std::vector<edm::InputTag>>("LayerClustersInputMask")),
33  doCandidatesPlots_(pset.getUntrackedParameter<bool>("doCandidatesPlots")),
34  label_candidates_(pset.getParameter<std::string>("ticlCandidates")),
35  cummatbudinxo_(pset.getParameter<edm::FileInPath>("cummatbudinxo")),
36  isTICLv5_(pset.getUntrackedParameter<bool>("isticlv5")),
37  hits_label_(pset.getParameter<std::vector<edm::InputTag>>("hits")) {
38  //In this way we can easily generalize to associations between other objects also.
39  const edm::InputTag& label_cp_effic_tag = pset.getParameter<edm::InputTag>("label_cp_effic");
40  const edm::InputTag& label_cp_fake_tag = pset.getParameter<edm::InputTag>("label_cp_fake");
41 
42  for (auto& label : hits_label_) {
43  hits_token_.push_back(consumes<HGCRecHitCollection>(label));
44  }
45  label_cp_effic = consumes<std::vector<CaloParticle>>(label_cp_effic_tag);
46  label_cp_fake = consumes<std::vector<CaloParticle>>(label_cp_fake_tag);
47 
48  simVertices_ = consumes<std::vector<SimVertex>>(pset.getParameter<edm::InputTag>("simVertices"));
49 
50  for (auto& itag : label_clustersmask) {
51  clustersMaskTokens_.push_back(consumes<std::vector<float>>(itag));
52  }
53 
54  associatorMapSimtR = consumes<ticl::SimToRecoCollectionWithSimClusters>(associatorSim_);
55  associatorMapRtSim = consumes<ticl::RecoToSimCollectionWithSimClusters>(associatorSim_);
56 
57  simTrackstersMap_ = consumes<std::map<uint, std::vector<uint>>>(edm::InputTag("ticlSimTracksters"));
58 
59  hitMap_ =
60  consumes<std::unordered_map<DetId, const unsigned int>>(edm::InputTag("recHitMapProducer", "hgcalRecHitMap"));
61 
62  simClusters_ = consumes<std::vector<SimCluster>>(pset.getParameter<edm::InputTag>("label_scl"));
63 
64  layerclusters_ = consumes<reco::CaloClusterCollection>(label_lcl);
65 
66  if (doCandidatesPlots_) {
67  edm::EDGetTokenT<std::vector<TICLCandidate>> TICLCandidatesToken =
68  consumes<std::vector<TICLCandidate>>(pset.getParameter<edm::InputTag>("ticlTrackstersMerge"));
69  edm::EDGetTokenT<std::vector<TICLCandidate>> simTICLCandidatesToken =
70  consumes<std::vector<TICLCandidate>>(pset.getParameter<edm::InputTag>("simTiclCandidates"));
72  consumes<std::vector<reco::Track>>(pset.getParameter<edm::InputTag>("recoTracks"));
74  consumes<std::vector<ticl::Trackster>>(pset.getParameter<edm::InputTag>("ticlTrackstersMerge"));
76  consumes<ticl::SimToRecoCollectionSimTracksters>(pset.getParameter<edm::InputTag>("mergeRecoToSimAssociator"));
78  consumes<ticl::SimToRecoCollectionSimTracksters>(pset.getParameter<edm::InputTag>("mergeSimToRecoAssociator"));
80  consumes<ticl::SimToRecoCollectionSimTracksters>(
81  pset.getParameter<edm::InputTag>("mergeRecoToSimAssociatorPU"));
82 
83  candidateVal_ = std::make_unique<TICLCandidateValidator>(TICLCandidatesToken,
84  simTICLCandidatesToken,
85  recoTracksToken,
86  trackstersToken,
87  associatorMapRtSToken,
88  associatorMapStRToken,
89  associatorMapRtSPUToken,
90  isTICLv5_);
91  }
92 
93  for (auto& itag : label_tst) {
94  label_tstTokens.push_back(consumes<ticl::TracksterCollection>(itag));
95  }
96 
97  simTracksters_ = consumes<ticl::TracksterCollection>(label_simTS);
98  simTracksters_fromCPs_ = consumes<ticl::TracksterCollection>(label_simTSFromCP);
99 
100  associatorMapRtS = consumes<ticl::RecoToSimCollection>(associator_);
101  associatorMapStR = consumes<ticl::SimToRecoCollection>(associator_);
102 
103  cpSelector = CaloParticleSelector(pset.getParameter<double>("ptMinCP"),
104  pset.getParameter<double>("ptMaxCP"),
105  pset.getParameter<double>("minRapidityCP"),
106  pset.getParameter<double>("maxRapidityCP"),
107  pset.getParameter<double>("lipCP"),
108  pset.getParameter<double>("tipCP"),
109  pset.getParameter<int>("minHitCP"),
110  pset.getParameter<int>("maxSimClustersCP"),
111  pset.getParameter<bool>("signalOnlyCP"),
112  pset.getParameter<bool>("intimeOnlyCP"),
113  pset.getParameter<bool>("chargedOnlyCP"),
114  pset.getParameter<bool>("stableOnlyCP"),
115  pset.getParameter<bool>("notConvertedOnlyCP"),
116  pset.getParameter<std::vector<int>>("pdgIdCP"));
117 
118  tools_.reset(new hgcal::RecHitTools());
119 
120  particles_to_monitor_ = pset.getParameter<std::vector<int>>("pdgIdCP");
121  totallayers_to_monitor_ = pset.getParameter<int>("totallayers_to_monitor");
122  thicknesses_to_monitor_ = pset.getParameter<std::vector<int>>("thicknesses_to_monitor");
123 
124  //For the material budget file here
125  std::ifstream fmb(cummatbudinxo_.fullPath().c_str());
126  double thelay = 0.;
127  double mbg = 0.;
128  for (unsigned ilayer = 1; ilayer <= totallayers_to_monitor_; ++ilayer) {
129  fmb >> thelay >> mbg;
130  cumulative_material_budget.insert(std::pair<double, double>(thelay, mbg));
131  }
132 
133  fmb.close();
134 
135  ParameterSet psetForHistoProducerAlgo = pset.getParameter<ParameterSet>("histoProducerAlgoBlock");
136  histoProducerAlgo_ = std::make_unique<HGVHistoProducerAlgo>(psetForHistoProducerAlgo);
137 
138  dirName_ = pset.getParameter<std::string>("dirName");
139 }
std::string fullPath() const
Definition: FileInPath.cc:161
edm::InputTag associator_
edm::EDGetTokenT< std::unordered_map< DetId, const unsigned int > > hitMap_
std::vector< edm::InputTag > label_tst
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_
const bool doLayerClustersPlots_
edm::EDGetTokenT< ticl::RecoToSimCollectionWithSimClusters > associatorMapRtSim
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
std::string label_TSToSTSPR_
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
edm::EDGetTokenT< std::vector< SimVertex > > simVertices_
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_fake
edm::EDGetTokenT< std::vector< CaloParticle > > label_cp_effic
const bool doCaloParticleSelection_
std::vector< edm::EDGetTokenT< ticl::TracksterCollection > > label_tstTokens
std::shared_ptr< hgcal::RecHitTools > tools_
std::string label_TSToCPLinking_
std::vector< edm::EDGetTokenT< HGCRecHitCollection > > hits_token_
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_
edm::InputTag label_SimClustersLevel_
std::vector< int > particles_to_monitor_
const bool doSimClustersPlots_
edm::InputTag label_lcl
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 141 of file HGCalValidator.cc.

141 {}

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 143 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_tst, label_TSToCPLinking_, label_TSToSTSPR_, ticl::Linking, LogDebug, particles_to_monitor_, ticl::PatternRecognition, SaveGeneralInfo_, dqm::implementation::NavigatorBase::setCurrentFolder(), thicknesses_to_monitor_, to_string(), totallayers_to_monitor_, and ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::ws.

146  {
147  if (SaveGeneralInfo_) {
148  ibook.cd();
149  ibook.setCurrentFolder(dirName_ + "GeneralInfo");
150  histoProducerAlgo_->bookInfo(ibook, histograms.histoProducerAlgo);
151  }
152 
153  if (doCaloParticlePlots_) {
154  ibook.cd();
155 
156  for (auto const particle : particles_to_monitor_) {
157  ibook.setCurrentFolder(dirName_ + "SelectedCaloParticles/" + std::to_string(particle));
158  histoProducerAlgo_->bookCaloParticleHistos(
159  ibook, histograms.histoProducerAlgo, particle, totallayers_to_monitor_);
160  }
161  ibook.cd();
162  ibook.setCurrentFolder(dirName_);
163  }
164 
165  //Booking histograms concerning with simClusters
166  if (doSimClustersPlots_) {
167  ibook.cd();
169  histoProducerAlgo_->bookSimClusterHistos(
170  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
171 
172  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
173  ibook.cd();
175  string dirName = dirName_ + label_SimClustersPlots_.label() + "/";
176  if (!algo.process().empty())
177  dirName += algo.process() + "_";
178  LogDebug("HGCalValidator") << dirName << "\n";
179  if (!algo.label().empty())
180  dirName += algo.label() + "_";
181  LogDebug("HGCalValidator") << dirName << "\n";
182  if (!algo.instance().empty())
183  dirName += algo.instance() + "_";
184  LogDebug("HGCalValidator") << dirName << "\n";
185 
186  if (!dirName.empty()) {
187  dirName.resize(dirName.size() - 1);
188  }
189 
190  LogDebug("HGCalValidator") << dirName << "\n";
191 
192  ibook.setCurrentFolder(dirName);
193 
194  histoProducerAlgo_->bookSimClusterAssociationHistos(
195  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
196  } //end of loop over masks
197  } //if for simCluster plots
198 
199  //Booking histograms concerning with hgcal layer clusters
200  if (doLayerClustersPlots_) {
201  ibook.cd();
202  ibook.setCurrentFolder(dirName_ + label_layerClustersPlots_.label() + "/ClusterLevel");
203  histoProducerAlgo_->bookClusterHistos_ClusterLevel(ibook,
204  histograms.histoProducerAlgo,
208  ibook.cd();
210  histoProducerAlgo_->bookClusterHistos_LCtoCP_association(
211  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
212 
213  ibook.cd();
214  ibook.setCurrentFolder(dirName_ + label_layerClustersPlots_.label() + "/CellLevel");
215  histoProducerAlgo_->bookClusterHistos_CellLevel(
216  ibook, histograms.histoProducerAlgo, totallayers_to_monitor_, thicknesses_to_monitor_);
217  }
218 
219  //Booking histograms for Tracksters
220  for (unsigned int www = 0; www < label_tst.size(); www++) {
221  ibook.cd();
222  InputTag algo = label_tst[www];
223  string dirName = dirName_;
224  if (!algo.process().empty())
225  dirName += algo.process() + "_";
226  LogDebug("HGCalValidator") << dirName << "\n";
227  if (!algo.label().empty())
228  dirName += algo.label() + "_";
229  LogDebug("HGCalValidator") << dirName << "\n";
230  if (!algo.instance().empty())
231  dirName += algo.instance() + "_";
232  LogDebug("HGCalValidator") << dirName << "\n";
233 
234  if (!dirName.empty()) {
235  dirName.resize(dirName.size() - 1);
236  }
237 
238  LogDebug("HGCalValidator") << dirName << "\n";
239 
240  ibook.setCurrentFolder(dirName);
241 
242  // Booking histograms concerning HGCal tracksters
243  if (doTrackstersPlots_) {
244  // Generic histos
245  ibook.setCurrentFolder(dirName + "/" + label_TS_);
246  histoProducerAlgo_->bookTracksterHistos(ibook, histograms.histoProducerAlgo, totallayers_to_monitor_);
247  // CP Linking
249  histoProducerAlgo_->bookTracksterSTSHistos(
251  // SimTracksters Pattern Recognition
253  histoProducerAlgo_->bookTracksterSTSHistos(
255  }
256  } //end of booking Tracksters loop
257 
258  // Booking histograms concerning TICL candidates
259  if (doCandidatesPlots_) {
260  ibook.cd();
262  candidateVal_->bookCandidatesHistos(ibook, histograms.histoTICLCandidates, dirName_ + label_candidates_);
263  }
264 }
std::string fullPath() const
Definition: FileInPath.cc:161
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_
const bool doLayerClustersPlots_
std::string label_TSToSTSPR_
std::string dirName_
std::string label_TSToCPLinking_
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_
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 266 of file HGCalValidator.cc.

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

Referenced by dqmAnalyze().

272  {
273  selected_cPeff.reserve(cPeff.size());
274 
275  size_t j = 0;
276  for (auto const& caloParticle : cPeff) {
277  int id = caloParticle.pdgId();
278 
280  selected_cPeff.push_back(j);
281  if (doCaloParticlePlots_) {
282  histoProducerAlgo_->fill_caloparticle_histos(
283  histograms.histoProducerAlgo, id, caloParticle, simVertices, layers, hitMap, hits);
284  }
285  }
286  ++j;
287  } //end of loop over caloparticles
288 }
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 290 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_tst, label_tstTokens, layerclusters_, LogDebug, LogTrace, or, edm::InputTag::process(), removeCPFromPU(), SaveGeneralInfo_, singleTopDQM_cfi::setup, simClusters_, simTracksters_, simTracksters_fromCPs_, simTrackstersMap_, HGCalValidator_cfi::simVertices, simVertices_, thicknesses_to_monitor_, unpackBuffers-CaloStage2::token, tools_, totallayers_to_monitor_, w(), and ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::ws.

292  {
293  using namespace reco;
294 
295  LogDebug("HGCalValidator") << "\n===================================================="
296  << "\n"
297  << "Analyzing new event"
298  << "\n"
299  << "====================================================\n"
300  << "\n";
301 
302  edm::Handle<std::vector<SimVertex>> simVerticesHandle;
303  event.getByToken(simVertices_, simVerticesHandle);
304  std::vector<SimVertex> const& simVertices = *simVerticesHandle;
305 
306  edm::Handle<std::vector<CaloParticle>> caloParticleHandle;
307  event.getByToken(label_cp_effic, caloParticleHandle);
308  std::vector<CaloParticle> const& caloParticles = *caloParticleHandle;
309 
310  edm::Handle<ticl::TracksterCollection> simTracksterHandle;
311  event.getByToken(simTracksters_, simTracksterHandle);
312  ticl::TracksterCollection const& simTracksters = *simTracksterHandle;
313 
314  edm::Handle<ticl::TracksterCollection> simTracksterFromCPHandle;
315  event.getByToken(simTracksters_fromCPs_, simTracksterFromCPHandle);
316  ticl::TracksterCollection const& simTrackstersFromCPs = *simTracksterFromCPHandle;
317 
318  edm::Handle<std::map<uint, std::vector<uint>>> simTrackstersMapHandle;
319  event.getByToken(simTrackstersMap_, simTrackstersMapHandle);
320  const std::map<uint, std::vector<uint>> cpToSc_SimTrackstersMap = *simTrackstersMapHandle;
321 
323  tools_->setGeometry(*geom);
324  histoProducerAlgo_->setRecHitTools(tools_);
325 
326  edm::Handle<ticl::SimToRecoCollection> simtorecoCollectionH;
327  event.getByToken(associatorMapStR, simtorecoCollectionH);
328  auto simRecColl = *simtorecoCollectionH;
329  edm::Handle<ticl::RecoToSimCollection> recotosimCollectionH;
330  event.getByToken(associatorMapRtS, recotosimCollectionH);
331  auto recSimColl = *recotosimCollectionH;
332 
334  event.getByToken(hitMap_, hitMapHandle);
335  const std::unordered_map<DetId, const unsigned int>* hitMap = &*hitMapHandle;
336 
337  std::vector<HGCRecHit> hits;
338  for (auto& token : hits_token_) {
340  event.getByToken(token, hitsHandle);
341  hits.insert(hits.end(), (*hitsHandle).begin(), (*hitsHandle).end());
342  }
343 
344  //Some general info on layers etc.
345  if (SaveGeneralInfo_) {
346  histoProducerAlgo_->fill_info_histos(histograms.histoProducerAlgo, totallayers_to_monitor_);
347  }
348 
349  std::vector<size_t> cPIndices;
350  //Consider CaloParticles coming from the hard scatterer
351  //excluding the PU contribution and save the indices.
352  removeCPFromPU(caloParticles, cPIndices);
353 
354  // ##############################################
355  // Fill caloparticles histograms
356  // ##############################################
357  // HGCRecHit are given to select the SimHits which are also reconstructed
358  LogTrace("HGCalValidator") << "\n# of CaloParticles: " << caloParticles.size() << "\n" << std::endl;
359  std::vector<size_t> selected_cPeff;
361  histograms, caloParticles, simVertices, selected_cPeff, totallayers_to_monitor_, *hitMap, hits);
362 
363  //get collections from the event
364  //simClusters
365  edm::Handle<std::vector<SimCluster>> simClustersHandle;
366  event.getByToken(simClusters_, simClustersHandle);
367  std::vector<SimCluster> const& simClusters = *simClustersHandle;
368 
369  //Layer clusters
371  event.getByToken(layerclusters_, clusterHandle);
372  const reco::CaloClusterCollection& clusters = *clusterHandle;
373 
374  auto nSimClusters = simClusters.size();
375  std::vector<size_t> sCIndices;
376  //There shouldn't be any SimTracks from different crossings, but maybe they will be added later.
377  //At the moment there should be one SimTrack in each SimCluster.
378  for (unsigned int scId = 0; scId < nSimClusters; ++scId) {
379  if (simClusters[scId].g4Tracks()[0].eventId().event() != 0 or
380  simClusters[scId].g4Tracks()[0].eventId().bunchCrossing() != 0) {
381  LogDebug("HGCalValidator") << "Excluding SimClusters from event: "
382  << simClusters[scId].g4Tracks()[0].eventId().event()
383  << " with BX: " << simClusters[scId].g4Tracks()[0].eventId().bunchCrossing()
384  << std::endl;
385  continue;
386  }
387  sCIndices.emplace_back(scId);
388  }
389 
390  // ##############################################
391  // Fill simCluster histograms
392  // ##############################################
393  if (doSimClustersPlots_) {
394  histoProducerAlgo_->fill_simCluster_histos(
395  histograms.histoProducerAlgo, simClusters, totallayers_to_monitor_, thicknesses_to_monitor_);
396 
397  for (unsigned int ws = 0; ws < label_clustersmask.size(); ws++) {
398  const auto& inputClusterMask = event.get(clustersMaskTokens_[ws]);
399 
401  event.getByToken(associatorMapSimtR, simtorecoCollectionH);
402  auto simRecColl = *simtorecoCollectionH;
404  event.getByToken(associatorMapRtSim, recotosimCollectionH);
405  auto recSimColl = *recotosimCollectionH;
406 
407  histoProducerAlgo_->fill_simClusterAssociation_histos(histograms.histoProducerAlgo,
408  ws,
409  clusterHandle,
410  clusters,
411  simClustersHandle,
412  simClusters,
413  sCIndices,
414  inputClusterMask,
415  *hitMap,
417  recSimColl,
418  simRecColl,
419  hits);
420 
421  //General Info on simClusters
422  LogTrace("HGCalValidator") << "\n# of SimClusters: " << nSimClusters
423  << ", layerClusters mask label: " << label_clustersmask[ws].label() << "\n";
424  } //end of loop overs masks
425  }
426 
427  // ##############################################
428  // Fill layercluster histograms
429  // ##############################################
430  int w = 0; //counter counting the number of sets of histograms
431  if (doLayerClustersPlots_) {
432  histoProducerAlgo_->fill_generic_cluster_histos(histograms.histoProducerAlgo,
433  w,
434  clusterHandle,
435  clusters,
436  caloParticleHandle,
438  cPIndices,
439  selected_cPeff,
440  *hitMap,
444  recSimColl,
445  simRecColl,
446  hits);
447 
448  for (unsigned int layerclusterIndex = 0; layerclusterIndex < clusters.size(); layerclusterIndex++) {
449  histoProducerAlgo_->fill_cluster_histos(histograms.histoProducerAlgo, w, clusters[layerclusterIndex]);
450  }
451 
452  //General Info on hgcalLayerClusters
453  LogTrace("HGCalValidator") << "\n# of layer clusters with " << label_lcl.process() << ":" << label_lcl.label()
454  << ":" << label_lcl.instance() << ": " << clusters.size() << "\n";
455  }
456 
457  // ##############################################
458  // Fill Trackster histograms
459  // ##############################################
460  for (unsigned int wml = 0; wml < label_tstTokens.size(); wml++) {
461  if (doTrackstersPlots_) {
463  event.getByToken(label_tstTokens[wml], tracksterHandle);
464  const ticl::TracksterCollection& tracksters = *tracksterHandle;
465 
466  //General Info on Tracksters
467  LogTrace("HGCalValidator") << "\n# of Tracksters from " << label_tst[wml].process() << ":"
468  << label_tst[wml].label() << ":" << label_tst[wml].instance() << ": "
469  << tracksters.size() << "\n"
470  << std::endl;
471 
472  histoProducerAlgo_->fill_trackster_histos(histograms.histoProducerAlgo,
473  wml,
474  tracksters,
475  clusters,
476  simTracksters,
477  simTrackstersFromCPs,
478  cpToSc_SimTrackstersMap,
479  simClusters,
480  caloParticleHandle.id(),
482  cPIndices,
483  selected_cPeff,
484  *hitMap,
486  hits);
487  }
488  } //end of loop over Trackster input labels
489 
490  // tracksters histograms
491  if (doCandidatesPlots_) {
492  candidateVal_->fillCandidateHistos(event, histograms.histoTICLCandidates, simTracksterFromCPHandle);
493  }
494 }
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::vector< edm::InputTag > label_tst
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
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::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_
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)

Member Data Documentation

◆ associator_

edm::InputTag HGCalValidator::associator_
protected

Definition at line 69 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ associatorMapRtS

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

Definition at line 98 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapRtSim

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

Definition at line 101 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapSimtR

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

Definition at line 100 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorMapStR

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

Definition at line 99 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ associatorSim_

edm::InputTag HGCalValidator::associatorSim_
protected

Definition at line 70 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ caloGeomToken_

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

Definition at line 65 of file HGCalValidator.h.

Referenced by dqmAnalyze().

◆ candidateVal_

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

Definition at line 105 of file HGCalValidator.h.

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

◆ clustersMaskTokens_

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

Definition at line 96 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ cpSelector

CaloParticleSelector HGCalValidator::cpSelector
private

Definition at line 108 of file HGCalValidator.h.

Referenced by cpParametersAndSelection(), and HGCalValidator().

◆ cummatbudinxo_

const edm::FileInPath HGCalValidator::cummatbudinxo_
protected

Definition at line 83 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ cumulative_material_budget

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

Definition at line 110 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ dirName_

std::string HGCalValidator::dirName_
private

Definition at line 114 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ doCaloParticlePlots_

const bool HGCalValidator::doCaloParticlePlots_
protected

Definition at line 72 of file HGCalValidator.h.

Referenced by bookHistograms(), and cpParametersAndSelection().

◆ doCaloParticleSelection_

const bool HGCalValidator::doCaloParticleSelection_
protected

Definition at line 73 of file HGCalValidator.h.

Referenced by cpParametersAndSelection().

◆ doCandidatesPlots_

const bool HGCalValidator::doCandidatesPlots_
protected

Definition at line 81 of file HGCalValidator.h.

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

◆ doLayerClustersPlots_

const bool HGCalValidator::doLayerClustersPlots_
protected

Definition at line 76 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doSimClustersPlots_

const bool HGCalValidator::doSimClustersPlots_
protected

Definition at line 74 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ doTrackstersPlots_

const bool HGCalValidator::doTrackstersPlots_
protected

Definition at line 78 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 97 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ hits_label_

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

Definition at line 103 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ hits_token_

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

Definition at line 104 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ isTICLv5_

const bool HGCalValidator::isTICLv5_
protected

Definition at line 84 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_candidates_

std::string HGCalValidator::label_candidates_
protected

Definition at line 82 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_clustersmask

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

Definition at line 80 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 93 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 94 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_layerClustersPlots_

edm::InputTag HGCalValidator::label_layerClustersPlots_
protected

Definition at line 77 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_lcl

edm::InputTag HGCalValidator::label_lcl
protected

Definition at line 66 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ label_LCToCPLinking_

edm::InputTag HGCalValidator::label_LCToCPLinking_
protected

Definition at line 77 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_SimClustersLevel_

edm::InputTag HGCalValidator::label_SimClustersLevel_
protected

Definition at line 75 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_SimClustersPlots_

edm::InputTag HGCalValidator::label_SimClustersPlots_
protected

Definition at line 75 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_simTS

edm::InputTag HGCalValidator::label_simTS
protected

Definition at line 68 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_simTSFromCP

edm::InputTag HGCalValidator::label_simTSFromCP
protected

Definition at line 68 of file HGCalValidator.h.

Referenced by HGCalValidator().

◆ label_TS_

std::string HGCalValidator::label_TS_
protected

Definition at line 79 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_tst

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

Definition at line 67 of file HGCalValidator.h.

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

◆ label_TSToCPLinking_

std::string HGCalValidator::label_TSToCPLinking_
protected

Definition at line 79 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_TSToSTSPR_

std::string HGCalValidator::label_TSToSTSPR_
protected

Definition at line 79 of file HGCalValidator.h.

Referenced by bookHistograms().

◆ label_tstTokens

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

Definition at line 89 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ labelToken

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

Definition at line 86 of file HGCalValidator.h.

◆ layerclusters_

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

Definition at line 88 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ particles_to_monitor_

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

Definition at line 111 of file HGCalValidator.h.

Referenced by bookHistograms(), and HGCalValidator().

◆ SaveGeneralInfo_

const bool HGCalValidator::SaveGeneralInfo_
protected

Definition at line 71 of file HGCalValidator.h.

Referenced by bookHistograms(), and dqmAnalyze().

◆ simClusters_

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

Definition at line 87 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTracksters_

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

Definition at line 90 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTracksters_fromCPs_

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

Definition at line 91 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simTrackstersMap_

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

Definition at line 92 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ simVertices_

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

Definition at line 95 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ thicknesses_to_monitor_

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

Definition at line 113 of file HGCalValidator.h.

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

◆ tools_

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

Definition at line 109 of file HGCalValidator.h.

Referenced by dqmAnalyze(), and HGCalValidator().

◆ totallayers_to_monitor_

unsigned HGCalValidator::totallayers_to_monitor_
private

Definition at line 112 of file HGCalValidator.h.

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