|
| CaloParticleValidation (const edm::ParameterSet &) |
|
| ~CaloParticleValidation () override |
|
virtual void | dqmEndRun (edm::Run const &, edm::EventSetup const &, Histograms_CaloParticleValidation const &) const |
|
void | globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup) const final |
|
void | accumulate (edm::StreamID id, edm::Event const &event, edm::EventSetup const &setup) const final |
|
virtual void | dqmBeginRun (edm::Run const &, edm::EventSetup const &, Histograms_CaloParticleValidation &) const |
|
| DQMGlobalEDAnalyzerBase () |
|
std::shared_ptr< Histograms_CaloParticleValidation > | globalBeginRun (edm::Run const &run, edm::EventSetup const &setup) const final |
|
void | globalEndRun (edm::Run const &, edm::EventSetup const &) const final |
|
| 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 |
|
EDProducer & | operator= (const EDProducer &)=delete |
|
bool | wantsGlobalLuminosityBlocks () const final |
|
bool | wantsGlobalRuns () const final |
|
bool | wantsInputProcessBlocks () const final |
|
bool | wantsProcessBlocks () const final |
|
bool | wantsStreamLuminosityBlocks () const final |
|
bool | wantsStreamRuns () const final |
|
| EDProducerBase () |
|
ModuleDescription const & | moduleDescription () const |
|
| ~EDProducerBase () override |
|
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 |
|
std::vector< ConsumesInfo > | consumesInfo () const |
|
void | convertCurrentProcessAlias (std::string const &processName) |
| Convert "@currentProcess" in InputTag process names to the actual current process name. More...
|
|
| EDConsumerBase () |
|
| EDConsumerBase (EDConsumerBase &&)=default |
|
| EDConsumerBase (EDConsumerBase const &)=delete |
|
ESProxyIndex const * | esGetTokenIndices (edm::Transition iTrans) const |
|
std::vector< ESProxyIndex > const & | esGetTokenIndicesVector (edm::Transition iTrans) const |
|
std::vector< ESRecordIndex > const & | esGetTokenRecordIndicesVector (edm::Transition iTrans) const |
|
ProductResolverIndexAndSkipBit | indexFrom (EDGetToken, BranchType, TypeID const &) const |
|
void | itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
void | itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const |
|
std::vector< ProductResolverIndexAndSkipBit > const & | itemsToGetFrom (BranchType iType) const |
|
void | labelsForToken (EDGetToken iToken, Labels &oLabels) const |
|
void | modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const |
|
EDConsumerBase & | operator= (EDConsumerBase &&)=default |
|
EDConsumerBase const & | operator= (EDConsumerBase const &)=delete |
|
bool | registeredToConsume (ProductResolverIndex, bool, BranchType) const |
|
bool | registeredToConsumeMany (TypeID const &, BranchType) const |
|
ProductResolverIndexAndSkipBit | uncheckedIndexFrom (EDGetToken) const |
|
void | updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet) |
|
void | updateLookup (eventsetup::ESRecordsToProxyIndices const &) |
|
virtual | ~EDConsumerBase () noexcept(false) |
|
|
typedef dqm::reco::DQMStore | DQMStore |
|
typedef dqm::reco::MonitorElement | MonitorElement |
|
typedef EDProducerBase | ModuleType |
|
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > > |
|
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
|
typedef ProductLabels | Labels |
|
uint64_t | meId (edm::Run const &run) const |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces () |
| declare what type of product will make and with which optional label More...
|
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces () |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces () |
|
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<BranchType B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<Transition B> |
BranchAliasSetter | produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true) |
|
template<typename ProductType , Transition B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<class ProductType > |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
template<typename ProductType , BranchType B> |
BranchAliasSetterT< ProductType > | produces (std::string instanceName) |
|
ProducesCollector | producesCollector () |
|
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
|
template<BranchType B = InEvent> |
EDConsumerBaseAdaptor< B > | consumes (edm::InputTag tag) noexcept |
|
template<BranchType B> |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
|
ConsumesCollector | consumesCollector () |
| Use a ConsumesCollector to gather consumes information from helper functions. More...
|
|
template<typename ProductType , BranchType B = InEvent> |
void | consumesMany () |
|
void | consumesMany (const TypeToGet &id) |
|
template<BranchType B> |
void | consumesMany (const TypeToGet &id) |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes () |
|
template<Transition Tr = Transition::Event> |
constexpr auto | esConsumes () noexcept |
|
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag const &tag) |
|
template<Transition Tr = Transition::Event> |
auto | esConsumes (ESInputTag tag) noexcept |
|
template<Transition Tr = Transition::Event> |
ESGetTokenGeneric | esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey) |
| Used with EventSetupRecord::doGet. More...
|
|
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<BranchType B> |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
|
template<typename ProductType , BranchType B = InEvent> |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
|
DQMStore * | dqmstore_ |
|
edm::EDPutTokenT< DQMToken > | runToken_ |
|
Definition at line 56 of file CaloParticleValidation.cc.
Implements DQMGlobalEDAnalyzerBase< Histograms_CaloParticleValidation, Args... >.
Definition at line 200 of file CaloParticleValidation.cc.
207 histo.eta_ = ibook.
book1D(
"Eta",
"Eta", 80, -4., 4.);
208 histo.energy_ = ibook.
book1D(
"Energy",
"Energy", 250, 0., 500.);
209 histo.pt_ = ibook.
book1D(
"Pt",
"Pt", 100, 0., 100.);
210 histo.nSimClusters_ = ibook.
book1D(
"NSimClusters",
"NSimClusters", 100, 0., 100.);
211 histo.nHitInSimClusters_ = ibook.
book1D(
"NHitInSimClusters",
"NHitInSimClusters", 100, 0., 100.);
212 histo.selfEnergy_ = ibook.
book1D(
"SelfEnergy",
"SelfEnergy", 250, 0., 500.);
213 histo.energyDifference_ = ibook.
book1D(
"EnergyDifference",
"(Energy-SelfEnergy)/Energy", 300, -5., 1.);
214 histo.eta_Zorigin_map_ = ibook.
book2D(
"Eta vs Zorigin",
"Eta vs Zorigin", 80, -4., 4., 1100, -550., 550.);
218 histos[
offset].pfcandidateType_ = ibook.
book1D(
"PFCandidateType",
"PFCandidateType", 10, 0, 10);
219 histos[
offset].pfcandidate_vect_sum_pt_ = ibook.
book1D(
"PFCandidatePtVectSum",
"PFCandidatePtVectSum", 200, 0., 200.);
223 histo.pfcandidateEnergy_ = ibook.
book1D(
"PFCandidateEnergy",
"PFCandidateEnergy", 250, 0., 250.);
224 histo.pfcandidatePt_ = ibook.
book1D(
"PFCandidatePt",
"PFCandidatePt", 250, 0., 250.);
225 histo.pfcandidateEta_ = ibook.
book1D(
"PFCandidateEta",
"PFCandidateEta", 100, -5., 5.);
226 histo.pfcandidatePhi_ = ibook.
book1D(
"PFCandidatePhi",
"PFCandidatePhi", 100, -4., 4.);
227 histo.pfcandidateElementsInBlocks_ = ibook.
book1D(
"PFCandidateElements",
"PFCandidateElements", 20, 0., 20.);
231 histos[0].simPFSuperClusterSize_ = ibook.
book1D(
"SimPFSuperClusterSize",
"SimPFSuperClusterSize", 40, 0., 40.);
232 histos[0].simPFSuperClusterEnergy_ =
233 ibook.
book1D(
"SimPFSuperClusterEnergy",
"SimPFSuperClusterEnergy", 250, 0., 500.);
References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), reco::PFCandidate::egamma_HF, folder_, reco::PFCandidate::h, timingPdfMaker::histo, combine::histos, hltrates_dqm_sourceclient-live_cfg::offset, particles_to_monitor_, and dqm::implementation::NavigatorBase::setCurrentFolder().
Implements DQMGlobalEDAnalyzerBase< Histograms_CaloParticleValidation, Args... >.
Definition at line 115 of file CaloParticleValidation.cc.
122 const auto hitmap = *hitMapHandle;
126 std::vector<SimVertex>
const&
simVertices = *simVerticesHandle;
130 std::vector<CaloParticle>
const&
caloParticles = *caloParticleHandle;
134 std::vector<reco::SuperCluster>
const& simPFClusters = *simPFClustersHandle;
141 if (caloParticle.g4Tracks()[0].eventId().event() != 0
or
142 caloParticle.g4Tracks()[0].eventId().bunchCrossing() != 0) {
143 LogDebug(
"CaloParticleValidation") <<
"Excluding CaloParticles from event: "
144 << caloParticle.g4Tracks()[0].eventId().event()
145 <<
" with BX: " << caloParticle.g4Tracks()[0].eventId().bunchCrossing()
149 int id = caloParticle.pdgId();
152 histo.eta_->Fill(caloParticle.eta());
153 histo.pt_->Fill(caloParticle.pt());
154 histo.energy_->Fill(caloParticle.energy());
155 histo.nSimClusters_->Fill(caloParticle.simClusters().size());
161 for (
auto const& sc : caloParticle.simClusters()) {
162 simHits += sc->hits_and_fractions().size();
163 for (
auto const& h_and_f : sc->hits_and_fractions()) {
164 if (hitmap.count(h_and_f.first))
165 energy += hitmap.at(h_and_f.first)->energy() * h_and_f.second;
170 histo.energyDifference_->Fill(1. -
energy / caloParticle.energy());
175 for (
auto const& sc : simPFClusters) {
176 histos.at(0).simPFSuperClusterSize_->Fill((
float)sc.clustersSize());
177 histos.at(0).simPFSuperClusterEnergy_->Fill(sc.rawEnergy());
184 for (
auto const& pfc : simPFCandidates) {
190 histo.pfcandidateEnergy_->Fill(pfc.energy());
191 histo.pfcandidatePt_->Fill(pfc.pt());
192 histo.pfcandidateEta_->Fill(pfc.eta());
193 histo.pfcandidatePhi_->Fill(pfc.phi());
194 histo.pfcandidateElementsInBlocks_->Fill(pfc.elementsInBlocks().size());
197 histo.pfcandidate_vect_sum_pt_->Fill(
std::sqrt(ptx_tot * ptx_tot + pty_tot * pty_tot));
References caloTruthCellsProducer_cfi::caloParticles, caloParticles_, HCALHighEnergyHPDFilter_cfi::energy, timingPdfMaker::histo, combine::histos, hitMap_, iEvent, LogDebug, hltrates_dqm_sourceclient-live_cfg::offset, or, position, FastTrackerRecHitCombiner_cfi::simHits, simPFCandidates_, simPFClusters_, HGCalValidator_cfi::simVertices, simVertices_, and mathSSE::sqrt().