CMS 3D CMS Logo

HGCalValidator.h
Go to the documentation of this file.
1 #ifndef HGCalValidator_h
2 #define HGCalValidator_h
3 
15 
23 
25 
30 
34 
35 class PileupSummaryInfo;
36 
40  std::vector<dqm::reco::MonitorElement*> h_layerclusters_coll;
41 };
42 
43 class HGCalValidator : public DQMGlobalEDAnalyzer<HGCalValidatorHistograms> {
44 public:
50 
53 
55  ~HGCalValidator() override;
56 
58  void dqmAnalyze(const edm::Event&, const edm::EventSetup&, const Histograms&) const override;
60  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&, Histograms&) const override;
61 
63  std::vector<CaloParticle> const& cPeff,
64  std::vector<SimVertex> const& simVertices,
65  std::vector<size_t>& selected_cPeff,
66  unsigned int layers,
67  std::unordered_map<DetId, const unsigned int> const&,
68  std::vector<HGCRecHit> const& hits) const;
69 
70  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
71 
72 protected:
75  std::vector<edm::InputTag> label_tst;
76  std::vector<edm::InputTag> allTracksterTracksterAssociatorsLabels_;
81  const bool SaveGeneralInfo_;
84  const bool doSimClustersPlots_;
88  const bool doTrackstersPlots_;
90  std::vector<edm::InputTag> label_clustersmask;
91  const bool doCandidatesPlots_;
94  const bool isTICLv5_;
95 
96  std::vector<edm::EDGetTokenT<reco::CaloClusterCollection>> labelToken;
99  std::vector<edm::EDGetTokenT<ticl::TracksterCollection>> label_tstTokens;
106  std::vector<edm::EDGetTokenT<std::vector<float>>> clustersMaskTokens_;
112  std::unique_ptr<HGVHistoProducerAlgo> histoProducerAlgo_;
113  std::vector<edm::InputTag> hits_label_;
114  std::vector<edm::EDGetTokenT<HGCRecHitCollection>> hits_token_;
115  std::unique_ptr<TICLCandidateValidator> candidateVal_;
116  std::vector<edm::EDGetTokenT<TracksterToTracksterMap>> tracksterToTracksterAssociatorsTokens_;
117  std::vector<edm::EDGetTokenT<TracksterToTracksterMap>> tracksterToTracksterByHitsAssociatorsTokens_;
119 
120 private:
122  std::shared_ptr<hgcal::RecHitTools> tools_;
123  std::map<double, double> cumulative_material_budget;
124  std::vector<int> particles_to_monitor_;
126  std::vector<int> thicknesses_to_monitor_;
128 };
129 
130 #endif
std::string label_TSbyLCsCP_
void dqmAnalyze(const edm::Event &, const edm::EventSetup &, const Histograms &) const override
Method called once per event.
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_
~HGCalValidator() override
Destructor.
CaloParticleSelector cpSelector
const bool doCaloParticlePlots_
const bool doCandidatesPlots_
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
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &, Histograms &) const override
Method called to book the DQM histograms.
edm::InputTag label_simTS
const bool SaveGeneralInfo_
std::string label_TSbyLCs_
const bool doLayerClustersPlots_
edm::EDGetTokenT< ticl::RecoToSimCollectionWithSimClusters > associatorMapRtSim
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
std::string dirName_
HGVHistoProducerAlgoHistograms histoProducerAlgo
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_
HGCalValidator(const edm::ParameterSet &pset)
Constructor.
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::vector< edm::EDGetTokenT< reco::CaloClusterCollection > > labelToken
std::string label_candidates_
edm::InputTag label_SimClustersPlots_
std::vector< edm::EDGetTokenT< TracksterToTracksterMap > > tracksterToTracksterAssociatorsTokens_
edm::InputTag label_SimClustersLevel_
std::vector< int > particles_to_monitor_
std::vector< dqm::reco::MonitorElement * > h_layerclusters_coll
const bool doSimClustersPlots_
edm::InputTag label_lcl
std::vector< edm::InputTag > allTracksterTracksterByHitsAssociatorsLabels_
TICLCandidateValidatorHistograms histoTICLCandidates
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_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: Run.h:45
edm::InputTag label_layerClustersPlots_