49 std::map<std::string, MonitorElement *>
me;
64 inputPFlowLabel_tok_ = consumes<reco::PFCandidateCollection>(iConfig.
getParameter<
std::string>(
"InputPFlowLabel"));
67 if (!outputFile_.empty())
68 edm::LogInfo(
"OutputInfo") <<
" ParticleFLow Task histograms will be saved to '" << outputFile_.c_str() <<
"'";
70 edm::LogInfo(
"OutputInfo") <<
" ParticleFlow Task histograms will NOT be saved";
82 me[
"CandidateEt"] =
dbe_->
book1D(
"CandidateEt",
"CandidateEt", 1000, 0, 1000);
83 me[
"CandidateEta"] =
dbe_->
book1D(
"CandidateEta",
"CandidateEta", 200, -5, 5);
85 me[
"CandidateCharge"] =
dbe_->
book1D(
"CandidateCharge",
"CandidateCharge", 5, -2, 2);
86 me[
"PFCandidateType"] =
dbe_->
book1D(
"PFCandidateType",
"PFCandidateType", 10, 0, 10);
90 me[
"NumElements"] =
dbe_->
book1D(
"NumElements",
"NumElements", 25, 0, 25);
91 me[
"NumTrackElements"] =
dbe_->
book1D(
"NumTrackElements",
"NumTrackElements", 5, 0, 5);
92 me[
"NumPS1Elements"] =
dbe_->
book1D(
"NumPS1Elements",
"NumPS1Elements", 5, 0, 5);
93 me[
"NumPS2Elements"] =
dbe_->
book1D(
"NumPS2Elements",
"NumPS2Elements", 5, 0, 5);
94 me[
"NumECALElements"] =
dbe_->
book1D(
"NumECALElements",
"NumECALElements", 5, 0, 5);
95 me[
"NumHCALElements"] =
dbe_->
book1D(
"NumHCALElements",
"NumHCALElements", 5, 0, 5);
96 me[
"NumMuonElements"] =
dbe_->
book1D(
"NumMuonElements",
"NumMuonElements", 5, 0, 5);
100 me[
"TrackCharge"] =
dbe_->
book1D(
"TrackCharge",
"TrackCharge", 5, -2, 2);
101 me[
"TrackNumPoints"] =
dbe_->
book1D(
"TrackNumPoints",
"TrackNumPoints", 100, 0, 100);
102 me[
"TrackNumMeasurements"] =
dbe_->
book1D(
"TrackNumMeasurements",
"TrackNumMeasurements", 100, 0, 100);
103 me[
"TrackImpactParameter"] =
dbe_->
book1D(
"TrackImpactParameter",
"TrackImpactParameter", 1000, 0, 1);
120 iEvent.getByToken(inputPFlowLabel_tok_, pflow_hnd);
121 pflow_candidates = pflow_hnd.
product();
124 if (!pflow_candidates) {
125 edm::LogInfo(
"OutputInfo") <<
" failed to retrieve data required by ParticleFlow Task";
126 edm::LogInfo(
"OutputInfo") <<
" ParticleFlow Task cannot continue...!";
135 PFCandidateCollection::const_iterator
pf;
136 for (
pf = pflow_candidates->begin();
pf != pflow_candidates->end();
pf++) {
140 me[
"CandidateEt"]->Fill(particle->
et());
141 me[
"CandidateEta"]->Fill(particle->
eta());
142 me[
"CandidatePhi"]->Fill(particle->
phi());
143 me[
"CandidateCharge"]->Fill(particle->
charge());
144 me[
"CandidatePdgId"]->Fill(particle->
pdgId());
220 if (!outputFile_.empty() &&
dbe_)
T getParameter(std::string const &) const
dqm::legacy::MonitorElement MonitorElement
#define DEFINE_FWK_MODULE(type)
void setCurrentFolder(std::string const &fullpath) override
void analyze(const edm::Event &, const edm::EventSetup &) override
dqm::legacy::DQMStore * dbe_
T const * product() const
std::map< std::string, MonitorElement * > me
T getUntrackedParameter(std::string const &, T const &) const
int pdgId() const final
PDG identifier.
Log< level::Info, false > LogInfo
std::vector< reco::PFCandidate > PFCandidateCollection
collection of PFCandidates
dqm::legacy::DQMStore DQMStore
edm::EDGetTokenT< reco::PFCandidateCollection > inputPFlowLabel_tok_
DQM_DEPRECATED void save(std::string const &filename, std::string const &path="")
Particle reconstructed by the particle flow algorithm.
double et() const final
transverse energy
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
double phi() const final
momentum azimuthal angle
PFTester(const edm::ParameterSet &)
int charge() const final
electric charge
virtual ParticleType particleId() const
double eta() const final
momentum pseudorapidity