1 #ifndef Validation_HGCalValidation_HGVHistoProducerAlgo_h 2 #define Validation_HGCalValidation_HGVHistoProducerAlgo_h 10 #include <unordered_map> 91 std::unordered_map<std::string, dqm::reco::MonitorElement*>
248 std::vector<int> thicknesses);
253 std::vector<int> thicknesses);
258 std::vector<int> thicknesses,
266 std::vector<int> thicknesses);
275 edm::Handle<std::vector<CaloParticle>> caloParticleHandle,
276 std::vector<CaloParticle>
const& cP,
277 std::vector<size_t>
const& cPIndices,
278 std::vector<size_t>
const& cPSelectedIndices,
279 std::unordered_map<DetId, const unsigned int>
const&,
283 std::vector<HGCRecHit>
const&
hits)
const;
288 edm::Handle<std::vector<SimCluster>> simClusterHandle,
290 std::vector<size_t>
const& sCIndices,
291 const std::vector<float>&
mask,
292 std::unordered_map<DetId, const unsigned int>
const&,
296 std::vector<HGCRecHit>
const&
hits)
const;
304 const std::vector<size_t>& cPIndices,
305 const std::vector<size_t>& cPSelectedIndices,
312 std::vector<SimVertex>
const& simVertices,
314 std::unordered_map<DetId, const unsigned int>
const&,
315 std::vector<HGCRecHit>
const&
hits)
const;
320 edm::Handle<std::vector<CaloParticle>> caloParticleHandle,
321 std::vector<CaloParticle>
const& cP,
322 std::vector<size_t>
const& cPIndices,
323 std::vector<size_t>
const& cPSelectedIndices,
324 std::unordered_map<DetId, const unsigned int>
const&,
325 std::map<double, double> cummatbudg,
327 std::vector<int> thicknesses,
330 std::vector<HGCRecHit>
const&
hits)
const;
334 std::vector<int> thicknesses)
const;
339 edm::Handle<std::vector<SimCluster>> simClusterHandle,
341 std::vector<size_t>
const& sCIndices,
342 const std::vector<float>&
mask,
343 std::unordered_map<DetId, const unsigned int>
const& hitMap,
347 std::vector<HGCRecHit>
const&
hits)
const;
355 const std::map<
unsigned int, std::vector<unsigned int>>& cpToSc_SimTrackstersMap,
356 std::vector<SimCluster>
const& sC,
358 std::vector<CaloParticle>
const& cP,
359 std::vector<size_t>
const& cPIndices,
360 std::vector<size_t>
const& cPSelectedIndices,
361 std::unordered_map<DetId, const unsigned int>
const& hitMap,
363 std::vector<HGCRecHit>
const&
hits,
374 double distance2(
const double x1,
const double y1,
const double x2,
const double y2)
const;
375 double distance(
const double x1,
const double y1,
const double x2,
const double y2)
const;
377 void setRecHitTools(std::shared_ptr<hgcal::RecHitTools> recHitTools);
380 std::unordered_map<DetId, const unsigned int>
const&,
381 std::vector<HGCRecHit>
const&
hits)
const;
408 std::array<std::string, numberOfValidationTypes_>
ref_ = {
409 {
"SimTrackster_fromCP_byHits",
"SimTrackster_byLCs",
"SimTrackster_fromCP_byLCs",
"SimTrackster_byHits"}};
410 std::array<std::string, numberOfValidationTypes_>
refText_ = {{
"SimTrackster from CP Associated by Hits",
411 "SimTrackster Associated by LCs",
412 "SimTrackster from CP Associated by LCs",
413 "SimTrackster Associated by Hits"}};
415 std::array<std::string, numberOfValidationTypes_>
valSuffix_ = {{
"_byHits_CP",
"_byLCs",
"_byLCs_CP",
"_byHits"}};
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_numDup_simcluster_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_numEff_caloparticle_phi[numberOfValidationTypes_]
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_numMerge_layercl_in_simcl_eta_perlayer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_layercl2simcluster_vs_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_numMerge_trackster_pt[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_longdepthbarycentre_zplus
dqm::legacy::MonitorElement MonitorElement
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_firstlayer
void fill_caloparticle_histos(const Histograms &histograms, int pdgid, const CaloParticle &caloparticle, std::vector< SimVertex > const &simVertices, unsigned int layers, std::unordered_map< DetId, const unsigned int > const &, std::vector< HGCRecHit > const &hits) const
dqm::legacy::DQMStore DQMStore
std::vector< dqm::reco::MonitorElement * > h_energyclustered_zminus
long unsigned int clusterId
dqm::reco::MonitorElement * lastLayerEEzm
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_numDup_simcluster_phi_perlayer
std::vector< dqm::reco::MonitorElement * > h_scorePur_caloparticle2trackster[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_multiplicityOfLCinTST_vs_layerclusterenergy
std::unordered_map< int, dqm::reco::MonitorElement * > h_clusternum_perlayer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_simcluster2layercl_vs_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_tracksternum
std::unordered_map< int, dqm::reco::MonitorElement * > h_denom_caloparticle_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_denom_caloparticle_en[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_multiplicityOfLCinTST_vs_layercluster
double minTSTSharedEneFracEfficiency_
std::vector< dqm::reco::MonitorElement * > h_trackster_x
std::vector< dqm::reco::MonitorElement * > h_denom_trackster_eta[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_eta
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_trackster2bestCaloparticle_vs_eta[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_phi
std::vector< dqm::reco::MonitorElement * > h_num_caloparticle_pt[numberOfValidationTypes_]
double maxMixedHitsSimCluster_
std::vector< dqm::reco::MonitorElement * > h_numDup_trackster_pt[numberOfValidationTypes_]
double minDisToSeedperthickperlayerenewei_
void layerClusters_to_CaloParticles(const Histograms &histograms, edm::Handle< reco::CaloClusterCollection > clusterHandle, const reco::CaloClusterCollection &clusters, edm::Handle< std::vector< CaloParticle >> caloParticleHandle, std::vector< CaloParticle > const &cP, std::vector< size_t > const &cPIndices, std::vector< size_t > const &cPSelectedIndices, std::unordered_map< DetId, const unsigned int > const &, unsigned int layers, const ticl::RecoToSimCollection &recSimColl, const ticl::SimToRecoCollection &simRecColl, std::vector< HGCRecHit > const &hits) const
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_trackster2caloparticle[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_numMerge_trackster_eta[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_energy_vs_score_layercl2caloparticle_perlayer
double maxTotNsimClsperlay_
std::unordered_map< int, dqm::reco::MonitorElement * > h_simclusternum_perlayer
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_trackster2caloparticle[numberOfValidationTypes_]
void bookTracksterHistos(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers)
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancetomaxcell_perthickperlayer_eneweighted
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2trackster_assoc2[numberOfValidationTypes_]
int nintCellsEneDensperthick_
int nintClEneperthickperlayer_
std::vector< dqm::reco::MonitorElement * > h_multiplicity_zplus_numberOfEventsHistogram
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_energy
dqm::reco::MonitorElement * maxlayerzp
std::vector< dqm::reco::MonitorElement * > h_numEff_caloparticle_pt[numberOfValidationTypes_]
void setRecHitTools(std::shared_ptr< hgcal::RecHitTools > recHitTools)
std::vector< dqm::reco::MonitorElement * > h_multiplicity_numberOfEventsHistogram
std::vector< dqm::reco::MonitorElement * > h_clusternum_in_trackster
std::unordered_map< int, dqm::reco::MonitorElement * > h_denom_layercl_eta_perlayer
static constexpr int numberOfValidationTypes_
std::vector< dqm::reco::MonitorElement * > h_numEff_caloparticle_eta[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_mixedhitscluster_zplus
std::unordered_map< int, dqm::reco::MonitorElement * > h_num_caloparticle_eta_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_layercl2caloparticle_perlayer
std::vector< dqm::reco::MonitorElement * > h_multiplicity_zminus_numberOfEventsHistogram
double maxTotNClsinTSTsperlayer_
std::vector< dqm::reco::MonitorElement * > h_score_caloparticle2trackster[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_trackster2bestCaloparticle_vs_phi[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_layercl2caloparticle_vs_eta_perlayer
void fill_info_histos(const Histograms &histograms, unsigned int layers) const
std::unordered_map< int, dqm::reco::MonitorElement * > h_energy_vs_score_caloparticle2layercl_perlayer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_denom_layercl_in_simcl_eta_perlayer
int nintDisToMaxperthickperlayerenewei_
std::vector< dqm::reco::MonitorElement * > h_multiplicityOfLCinTST
bool operator==(const detIdInfoInTrackster &o) const
dqm::reco::MonitorElement * h_mixedhitssimcluster_zminus
std::vector< dqm::reco::MonitorElement * > h_num_caloparticle_en[numberOfValidationTypes_]
void bookClusterHistos_LCtoCP_association(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers)
std::vector< dqm::reco::MonitorElement * > h_score_trackster2bestCaloparticle2[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2layercl_vs_phi_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_simclusternum_perthick
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_pt
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_caloparticle2trackster[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_numEff_caloparticle_en[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_numDup_caloparticle_eta_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_cellsenedens_perthick
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_caloparticle2bestTrackster2[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nHits_matched_energy_layer_1SimCl
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_layercl2caloparticle_vs_phi_perlayer
dqm::reco::MonitorElement * h_mixedhitssimcluster_zplus
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2trackster_assoc_vs_eta[numberOfValidationTypes_]
std::array< std::string, numberOfValidationTypes_ > refText_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_score_simcluster2layercl_perlayer
int nintDisToMaxperthickperlayer_
std::vector< dqm::reco::MonitorElement * > h_cluster_eta
void bookInfo(DQMStore::IBooker &ibook, Histograms &histograms)
std::vector< dqm::reco::MonitorElement * > h_energyclustered_zplus
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_denom_simcluster_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2trackster_assoc_vs_phi[numberOfValidationTypes_]
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_cellsnum_perthickperlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nHits_matched_energy_layer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_fractions_weight
std::map< DetId, float > Density
std::array< std::string, numberOfValidationTypes_ > ref_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_layercl2simcluster_vs_phi_perlayer
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancebetseedandmaxcell_perthickperlayer
std::vector< dqm::reco::MonitorElement * > h_num_trackster_en[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_lastlayer_matchedtoRecHit
std::vector< dqm::reco::MonitorElement * > h_nonconttracksternum
void bookSimClusterAssociationHistos(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers, std::vector< int > thicknesses)
std::vector< dqm::reco::MonitorElement * > h_denom_trackster_phi[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_denom_caloparticle_phi[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_longdepthbarycentre_zminus
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancebetseedandmaxcellvsclusterenergy_perthickperlayer
void bookSimClusterHistos(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers, std::vector< int > thicknesses)
std::unordered_map< int, dqm::reco::MonitorElement * > h_energyclustered_perlayer
void fill_cluster_histos(const Histograms &histograms, const int count, const reco::CaloCluster &cluster) const
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_layersnum
std::vector< dqm::reco::MonitorElement * > h_mixedhitscluster_zminus
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_energy_vs_score_simcluster2layercl_perlayer
std::vector< dqm::reco::MonitorElement * > h_num_trackster_phi[numberOfValidationTypes_]
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_energy_vs_score_layercl2simcluster_perlayer
static constexpr int numberOfValidationTypes_
std::unordered_map< int, dqm::reco::MonitorElement * > h_clusternum_perthick
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2layercl_perlayer
std::vector< dqm::reco::MonitorElement * > h_num_caloparticle_eta[numberOfValidationTypes_]
double minClEnepermultiplicity_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_num_layercl_in_simcl_phi_perlayer
double maxMixedHitsCluster_
double minTotNsimClsperlay_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_phi
std::vector< dqm::reco::MonitorElement * > h_clusternum_in_trackster_vs_layer
double minDisSeedToMaxperthickperlayer_
double distance2(const double x1, const double y1, const double x2, const double y2) const
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_num_layercl_in_simcl_eta_perlayer
int nintDisToSeedperthickperlayerenewei_
std::vector< std::pair< DetId, float > > hits_and_fractions
dqm::reco::MonitorElement * maxlayerzm
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_denom_layercl_in_simcl_phi_perlayer
double minTSTSharedEneFrac_
std::vector< CaloCluster > CaloClusterCollection
collection of CaloCluster objects
double minDisToMaxperthickperlayer_
void bookCaloParticleHistos(DQMStore::IBooker &ibook, Histograms &histograms, int pdgid, unsigned int layers)
bool operator==(const detIdInfoInCluster &o) const
int nintTotNClsinTSTsperlayer_
void bookTracksterSTSHistos(DQMStore::IBooker &ibook, Histograms &histograms, const validationType valType)
void tracksters_to_SimTracksters_fp(const Histograms &histograms, const int count, const TracksterToTracksterMap &trackstersToSimTrackstersMap, const TracksterToTracksterMap &simTrackstersToTrackstersMap, const validationType valType, const SimClusterToCaloParticleMap &scToCpMap, const std::vector< size_t > &cPIndices, const std::vector< size_t > &cPSelectedIndices, const edm::ProductID &cPHandle_id) const
dqm::reco::MonitorElement * lastLayerEEzp
double maxDisToMaxperthickperlayer_
std::vector< dqm::reco::MonitorElement * > h_trackster_lastlayer
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancetomaxcell_perthickperlayer
double maxDisToSeedperthickperlayer_
std::unordered_map< int, dqm::reco::MonitorElement * > h_num_layercl_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_multiplicityOfLCinTST_vs_layercluster_zplus
double getEta(double eta) const
std::vector< dqm::reco::MonitorElement * > h_multiplicityOfLCinTST_vs_layercluster_zminus
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_trackster2bestCaloparticle[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_trackster2bestCaloparticle[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_denom_trackster_pt[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_z
double maxTotNcellsperthickperlayer_
void layerClusters_to_SimClusters(const Histograms &histograms, const int count, edm::Handle< reco::CaloClusterCollection > clusterHandle, const reco::CaloClusterCollection &clusters, edm::Handle< std::vector< SimCluster >> simClusterHandle, std::vector< SimCluster > const &simClusters, std::vector< size_t > const &sCIndices, const std::vector< float > &mask, std::unordered_map< DetId, const unsigned int > const &, unsigned int layers, const ticl::RecoToSimCollectionWithSimClusters &recSimColl, const ticl::SimToRecoCollectionWithSimClusters &simRecColl, std::vector< HGCRecHit > const &hits) const
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_energyDifference
std::vector< dqm::reco::MonitorElement * > h_scoreDupl_caloparticle2trackster[numberOfValidationTypes_]
double maxDisSeedToMaxperthickperlayer_
double minDisToSeedperthickperlayer_
std::unordered_map< int, dqm::reco::MonitorElement * > h_numDup_caloparticle_phi_perlayer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_denom_simcluster_phi_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_num_layercl_phi_perlayer
double minTotNClsinTSTsperlayer_
std::vector< dqm::reco::MonitorElement * > h_score_trackster2bestCaloparticle[numberOfValidationTypes_]
double maxDisToSeedperthickperlayerenewei_
std::shared_ptr< hgcal::RecHitTools > recHitTools_
std::unordered_map< int, dqm::reco::MonitorElement * > h_num_caloparticle_phi_perlayer
double maxTotNsimClsperthick_
double minTotNClsperthick_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nHitsInSimClusters_matchedtoRecHit
double minTotNsimClsperthick_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_eta_Zorigin
std::vector< dqm::reco::MonitorElement * > h_conttracksternum
void bookClusterHistos_ClusterLevel(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers, std::vector< int > thicknesses, std::string pathtomatbudfile)
dqm::reco::MonitorElement * lastLayerFHzm
int nintTotNsimClsperlay_
dqm::reco::MonitorElement * lastLayerFHzp
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_firstlayer_matchedtoRecHit
int nintMixedHitsSimCluster_
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancetoseedcell_perthickperlayer_eneweighted
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_selfenergy
std::vector< dqm::reco::MonitorElement * > h_numMerge_trackster_phi[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_energy
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_numMerge_layercl_in_simcl_phi_perlayer
int nintDisSeedToMaxperthickperlayer_
std::unordered_map< int, dqm::reco::MonitorElement * > h_denom_caloparticle_phi_perlayer
std::vector< dqm::reco::MonitorElement * > h_denom_trackster_en[numberOfValidationTypes_]
unsigned int caloParticleId
long unsigned int clusterId
double minTotNcellsperthickperlayer_
std::vector< dqm::reco::MonitorElement * > h_numDup_trackster_phi[numberOfValidationTypes_]
std::unordered_map< int, dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2layercl_vs_eta_perlayer
double minClEneperthickperlayer_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_simcluster2layercl_vs_phi_perlayer
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_caloparticle2bestTrackster[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_numDup_trackster_eta[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_energy_vs_score_trackster2bestCaloparticle2[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_firstlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nSimClusters
double minMixedHitsSimCluster_
std::vector< dqm::reco::MonitorElement * > h_score_trackster2caloparticle[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2trackster_assoc[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_layersnum
double minDisToMaxperthickperlayerenewei_
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_caloparticle2trackster[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_num_trackster_pt[numberOfValidationTypes_]
int nintClEnepermultiplicity_
int nintTotNsimClsperthick_
std::vector< Trackster > TracksterCollection
double maxTotNClsperthick_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_lastlayer
double maxClEnepermultiplicity_
std::vector< dqm::reco::MonitorElement * > h_numDup_trackster_en[numberOfValidationTypes_]
void fill_simClusterAssociation_histos(const Histograms &histograms, const int count, edm::Handle< reco::CaloClusterCollection > clusterHandle, const reco::CaloClusterCollection &clusters, edm::Handle< std::vector< SimCluster >> simClusterHandle, std::vector< SimCluster > const &simClusters, std::vector< size_t > const &sCIndices, const std::vector< float > &mask, std::unordered_map< DetId, const unsigned int > const &hitMap, unsigned int layers, const ticl::RecoToSimCollectionWithSimClusters &recSimColl, const ticl::SimToRecoCollectionWithSimClusters &simRecColl, std::vector< HGCRecHit > const &hits) const
std::unordered_map< int, dqm::reco::MonitorElement * > h_cellAssociation_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nHitsInSimClusters
std::unordered_map< std::string, dqm::reco::MonitorElement * > h_distancetoseedcell_perthickperlayer
void bookClusterHistos_CellLevel(DQMStore::IBooker &ibook, Histograms &histograms, unsigned int layers, std::vector< int > thicknesses)
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_layersnum_matchedtoRecHit
double distance(const double x1, const double y1, const double x2, const double y2) const
std::vector< dqm::reco::MonitorElement * > h_num_caloparticle_phi[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_y
std::unordered_map< int, dqm::reco::MonitorElement * > h_denom_layercl_phi_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_eta
std::vector< dqm::reco::MonitorElement * > h_sharedenergy_trackster2bestCaloparticle2[numberOfValidationTypes_]
void fill_generic_cluster_histos(const Histograms &histograms, const int count, edm::Handle< reco::CaloClusterCollection > clusterHandle, const reco::CaloClusterCollection &clusters, edm::Handle< std::vector< CaloParticle >> caloParticleHandle, std::vector< CaloParticle > const &cP, std::vector< size_t > const &cPIndices, std::vector< size_t > const &cPSelectedIndices, std::unordered_map< DetId, const unsigned int > const &, std::map< double, double > cummatbudg, unsigned int layers, std::vector< int > thicknesses, const ticl::RecoToSimCollection &recSimColl, const ticl::SimToRecoCollection &simRecColl, std::vector< HGCRecHit > const &hits) const
std::unordered_map< unsigned int, std::pair< float, float > > layerClusterIdToEnergyAndScore
double maxCellsEneDensperthick_
DetId findmaxhit(const reco::CaloCluster &cluster, std::unordered_map< DetId, const unsigned int > const &, std::vector< HGCRecHit > const &hits) const
double maxDisToMaxperthickperlayerenewei_
hgcal_clustering::Density Density
int nintMixedHitsCluster_
double minMixedHitsCluster_
std::array< std::string, numberOfValidationTypes_ > valSuffix_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_sum_energy_layer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_clusternum_in_trackster_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_nHits_matched_energy
double maxClEneperthickperlayer_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_simcluster2layercl_perlayer
int nintDisToSeedperthickperlayer_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_sharedenergy_layercl2simcluster_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_score_layercl2caloparticle_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_score_caloparticle2layercl_perlayer
int nintTotNcellsperthickperlayer_
int nintTSTSharedEneFrac_
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_score_layercl2simcluster_perlayer
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_num_simcluster_eta_perlayer
std::vector< dqm::reco::MonitorElement * > h_denom_caloparticle_eta[numberOfValidationTypes_]
void fill_trackster_histos(const Histograms &histograms, const int count, const ticl::TracksterCollection &tracksters, const reco::CaloClusterCollection &layerClusters, const ticl::TracksterCollection &simTSs, const ticl::TracksterCollection &simTSs_fromCP, const std::map< unsigned int, std::vector< unsigned int >> &cpToSc_SimTrackstersMap, std::vector< SimCluster > const &sC, const edm::ProductID &cPHandle_id, std::vector< CaloParticle > const &cP, std::vector< size_t > const &cPIndices, std::vector< size_t > const &cPSelectedIndices, std::unordered_map< DetId, const unsigned int > const &hitMap, unsigned int layers, std::vector< HGCRecHit > const &hits, bool mapsFound, const edm::Handle< TracksterToTracksterMap > &trackstersToSimTrackstersByLCsMapH, const edm::Handle< TracksterToTracksterMap > &simTrackstersToTrackstersByLCsMapH, const edm::Handle< TracksterToTracksterMap > &trackstersToSimTrackstersFromCPsByLCsMapH, const edm::Handle< TracksterToTracksterMap > &simTrackstersFromCPsToTrackstersByLCsMapH, const edm::Handle< TracksterToTracksterMap > &trackstersToSimTrackstersByHitsMapH, const edm::Handle< TracksterToTracksterMap > &simTrackstersToTrackstersByHitsMapH, const edm::Handle< TracksterToTracksterMap > &trackstersToSimTrackstersFromCPsByHitsMapH, const edm::Handle< TracksterToTracksterMap > &simTrackstersFromCPsToTrackstersByHitsMapH, const SimClusterToCaloParticleMap &scToCpMap) const
void fill_simCluster_histos(const Histograms &histograms, std::vector< SimCluster > const &simClusters, unsigned int layers, std::vector< int > thicknesses) const
HGVHistoProducerAlgo(const edm::ParameterSet &pset)
std::vector< dqm::reco::MonitorElement * > h_numMerge_trackster_en[numberOfValidationTypes_]
std::vector< std::unordered_map< int, dqm::reco::MonitorElement * > > h_num_simcluster_phi_perlayer
std::unordered_map< int, dqm::reco::MonitorElement * > h_numMerge_layercl_eta_perlayer
double maxTSTSharedEneFrac_
std::unordered_map< int, dqm::reco::MonitorElement * > h_caloparticle_fractions
std::unordered_map< int, dqm::reco::MonitorElement * > h_numMerge_layercl_phi_perlayer
std::vector< dqm::reco::MonitorElement * > h_denom_caloparticle_pt[numberOfValidationTypes_]
std::vector< dqm::reco::MonitorElement * > h_trackster_pt
double minCellsEneDensperthick_
std::vector< dqm::reco::MonitorElement * > h_num_trackster_eta[numberOfValidationTypes_]