LDMX Software
ParticleFlow.h
Go to the documentation of this file.
1
7#ifndef PARTICLEFLOW_H
8#define PARTICLEFLOW_H
9
10// LDMX Framework
12#include "Framework/Configure/Parameters.h" // Needed to import parameters from configuration file
13#include "Framework/Event.h"
14#include "Framework/EventProcessor.h" //Needed to declare processor
18#include "SimCore/Event/SimParticle.h"
20#include "TGraph.h"
21
22namespace recon {
23
29 public:
30 ParticleFlow(const std::string& name, framework::Process& process)
31 : framework::Producer(name, process) {}
32
34
35 virtual void produce(framework::Event& event);
36
37 virtual void onProcessEnd();
38
39 void fillCandTrack(ldmx::PFCandidate& cand, const ldmx::SimTrackerHit& tk);
40 void fillCandEMCalo(ldmx::PFCandidate& cand, const ldmx::CaloCluster& em);
41 void fillCandHadCalo(ldmx::PFCandidate& cand, const ldmx::CaloCluster& had);
42
43 private:
44 TGraph* eCorr_{0};
45 TGraph* hCorr_{0};
46
47 // name of collection for PF inputs to be passed
48 std::string inputEcalCollName_;
49 std::string inputHcalCollName_;
50 std::string inputTrackCollName_;
51 // name of collection for PF outputs
52 std::string outputCollName_;
53 // configuration
54 bool singleParticle_;
55};
56} // namespace recon
57
58#endif /* PARTICLEFLOW_H */
Class that stores calorimeter cluster information.
Class that stores cluster information from the ECal.
Base classes for all user event processing components to extend.
Class implementing an event buffer system for storing event data.
Class that stores cluster information from the ECal.
Class that represents a reconstructed particle candidate.
Class which encapsulates information from a hit in a simulated tracking detector.
Implements an event buffer system for storing event data.
Definition Event.h:41
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
Stores cluster information from the ECal.
Definition CaloCluster.h:26
Represents a reconstructed particle.
Definition PFCandidate.h:19
Represents a simulated tracker hit in the simulation.
virtual void produce(framework::Event &event)
Process the event and put new data products into it.
virtual void onProcessEnd()
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
virtual void configure(framework::config::Parameters &ps)
Callback for the EventProcessor to configure itself from the given set of parameters.