MarlinPandora  03.00.00
 All Classes Functions Variables
PandoraPFANewProcessor.h
1 
9 #ifndef PANDORA_PFA_NEW_PROCESSOR_H
10 #define PANDORA_PFA_NEW_PROCESSOR_H 1
11 
12 #include "marlin/Processor.h"
13 
14 #include "CaloHitCreator.h"
15 #include "GeometryCreator.h"
16 #include "MCParticleCreator.h"
17 #include "PfoCreator.h"
18 #include "TrackCreator.h"
19 
20 namespace pandora {class Pandora;}
21 
22 //------------------------------------------------------------------------------------------------------------------------------------------
23 
27 class PandoraPFANewProcessor : public marlin::Processor
28 {
29 public:
30  typedef std::vector<float> FloatVector;
31  typedef std::vector<std::string> StringVector;
32 
36  class Settings
37  {
38  public:
42  Settings();
43 
45 
46  float m_innerBField;
49 
52  };
53 
58 
62  virtual Processor *newProcessor();
63 
67  virtual void init();
68 
74  virtual void processRunHeader(lcio::LCRunHeader *pLCRunHeader);
75 
81  virtual void processEvent(EVENT::LCEvent *pLCEvent);
82 
88  virtual void check(EVENT::LCEvent *pLCEvent);
89 
93  virtual void end();
94 
100  const pandora::Pandora *GetPandora() const;
101 
109  static const EVENT::LCEvent *GetCurrentEvent(const pandora::Pandora *const pPandora);
110 
111 private:
116  pandora::StatusCode RegisterUserComponents() const;
117 
121  void ProcessSteeringFile();
122 
126  void FinaliseSteeringParameters();
127 
131  void Reset();
132 
133  pandora::Pandora *m_pPandora;
134  CaloHitCreator *m_pCaloHitCreator;
135  GeometryCreator *m_pGeometryCreator;
136  TrackCreator *m_pTrackCreator;
137  MCParticleCreator *m_pMCParticleCreator;
138  PfoCreator *m_pPfoCreator;
139 
140  Settings m_settings;
141  CaloHitCreator::Settings m_caloHitCreatorSettings;
142  GeometryCreator::Settings m_geometryCreatorSettings;
143  MCParticleCreator::Settings m_mcParticleCreatorSettings;
144  TrackCreator::Settings m_trackCreatorSettings;
145  PfoCreator::Settings m_pfoCreatorSettings;
146 
147  typedef std::map<const pandora::Pandora *, EVENT::LCEvent *> PandoraToLCEventMap;
148  static PandoraToLCEventMap m_pandoraToLCEventMap;
149 };
150 
151 //------------------------------------------------------------------------------------------------------------------------------------------
152 
153 inline marlin::Processor *PandoraPFANewProcessor::newProcessor()
154 {
155  return new PandoraPFANewProcessor;
156 }
157 
158 #endif // #ifndef PANDORA_PFA_NEW_PROCESSOR_H
TrackCreator class.
Definition: TrackCreator.h:45
static const EVENT::LCEvent * GetCurrentEvent(const pandora::Pandora *const pPandora)
Get address of the current lcio event.
Definition: PandoraPFANewProcessor.cc:162
float m_muonBarrelBField
The bfield in the muon barrel, units Tesla.
Definition: PandoraPFANewProcessor.h:47
std::string m_pandoraSettingsXmlFile
The pandora settings xml file.
Definition: PandoraPFANewProcessor.h:44
GeometryCreator class.
Definition: GeometryCreator.h:21
virtual void end()
End, called at shutdown.
Definition: PandoraPFANewProcessor.cc:138
Settings class.
Definition: TrackCreator.h:54
FloatVector m_inputEnergyCorrectionPoints
The input energy points for non-linearity energy correction.
Definition: PandoraPFANewProcessor.h:50
const pandora::Pandora * GetPandora() const
Get address of the pandora instance.
Definition: PandoraPFANewProcessor.cc:152
Settings class.
Definition: MCParticleCreator.h:30
PfoCreator class.
Definition: PfoCreator.h:23
virtual Processor * newProcessor()
Create new processor.
Definition: PandoraPFANewProcessor.h:153
PandoraPFANewProcessor()
Default constructor.
Definition: PandoraPFANewProcessor.cc:29
Settings()
Default constructor.
Definition: PandoraPFANewProcessor.cc:775
virtual void check(EVENT::LCEvent *pLCEvent)
Checks for event.
Definition: PandoraPFANewProcessor.cc:131
MCParticleCreator class.
Definition: MCParticleCreator.h:22
virtual void processRunHeader(lcio::LCRunHeader *pLCRunHeader)
Process run header.
Definition: PandoraPFANewProcessor.cc:81
Settings class.
Definition: PfoCreator.h:29
Settings class.
Definition: PandoraPFANewProcessor.h:36
CaloHitCreator class.
Definition: CaloHitCreator.h:25
float m_muonEndCapBField
The bfield in the muon endcap, units Tesla.
Definition: PandoraPFANewProcessor.h:48
float m_innerBField
The bfield in the main tracker, ecal and hcal, units Tesla.
Definition: PandoraPFANewProcessor.h:46
virtual void init()
Initialize, called at startup.
Definition: PandoraPFANewProcessor.cc:44
FloatVector m_outputEnergyCorrectionPoints
The output energy points for non-linearity energy correction.
Definition: PandoraPFANewProcessor.h:51
Settings class.
Definition: CaloHitCreator.h:33
virtual void processEvent(EVENT::LCEvent *pLCEvent)
Process event, main entry point.
Definition: PandoraPFANewProcessor.cc:87
PandoraPFANewProcessor class.
Definition: PandoraPFANewProcessor.h:27
Settings class.
Definition: GeometryCreator.h:27