Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
gar::gar_pandora::PandoraInterface Class Reference
Inheritance diagram for gar::gar_pandora::PandoraInterface:
art::EDProducer art::detail::Producer art::detail::LegacyModule art::Modifier art::ModuleBase art::ProductRegistryHelper

Classes

class  Settings
 

Public Member Functions

 PandoraInterface (fhicl::ParameterSet const &p)
 
 PandoraInterface (PandoraInterface const &)=delete
 
 PandoraInterface (PandoraInterface &&)=delete
 
PandoraInterfaceoperator= (PandoraInterface const &)=delete
 
PandoraInterfaceoperator= (PandoraInterface &&)=delete
 
void beginJob () override
 
void produce (art::Event &e) override
 
void endJob () override
 
const pandora::Pandora * GetPandora () const
 
- Public Member Functions inherited from art::EDProducer
 EDProducer (fhicl::ParameterSet const &pset)
 
template<typename Config >
 EDProducer (Table< Config > const &config)
 
std::string workerType () const
 
- Public Member Functions inherited from art::detail::Producer
virtual ~Producer () noexcept
 
 Producer (fhicl::ParameterSet const &)
 
 Producer (Producer const &)=delete
 
 Producer (Producer &&)=delete
 
Produceroperator= (Producer const &)=delete
 
Produceroperator= (Producer &&)=delete
 
void doBeginJob (SharedResources const &resources)
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doEndRun (RunPrincipal &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
- Public Member Functions inherited from art::Modifier
 ~Modifier () noexcept
 
 Modifier ()
 
 Modifier (Modifier const &)=delete
 
 Modifier (Modifier &&)=delete
 
Modifieroperator= (Modifier const &)=delete
 
Modifieroperator= (Modifier &&)=delete
 
- Public Member Functions inherited from art::ModuleBase
virtual ~ModuleBase () noexcept
 
 ModuleBase ()
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< T > consumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< T > mayConsumeView (InputTag const &tag)
 

Private Member Functions

pandora::StatusCode RegisterUserComponents () const
 
void reconfigure (fhicl::ParameterSet const &pset)
 
void FinaliseSteeringParameters ()
 
void Reset ()
 

Private Attributes

pandora::Pandora * m_pPandora = nullptr
 Address of the pandora instance. More...
 
CaloHitCreatorm_pCaloHitCreator = nullptr
 The calo hit creator. More...
 
GeometryCreatorm_pGeometryCreator = nullptr
 The geometry creator. More...
 
TrackCreatorm_pTrackCreator = nullptr
 The track creator. More...
 
MCParticleCreatorm_pMCParticleCreator = nullptr
 The mc particle creator. More...
 
PfoCreatorm_pPfoCreator = nullptr
 The pfo creator. More...
 
RotationTransformationm_pRotation = nullptr
 The transformation tool for rotations. More...
 
Settings m_settings {}
 The settings for the pandora interface module. More...
 
CaloHitCreator::Settings m_caloHitCreatorSettings {}
 The calo hit creator settings. More...
 
GeometryCreator::Settings m_geometryCreatorSettings {}
 The geometry creator settings. More...
 
MCParticleCreator::Settings m_mcParticleCreatorSettings {}
 The mc particle creator settings. More...
 
TrackCreator::Settings m_trackCreatorSettings {}
 The track creator settings. More...
 
PfoCreator::Settings m_pfoCreatorSettings {}
 The pfo creator settings. More...
 
const geo::GeometryCorefGeo
 pointer to the geometry More...
 

Additional Inherited Members

- Public Types inherited from art::EDProducer
using ModuleType = EDProducer
 
using WorkerType = WorkerT< EDProducer >
 
- Public Types inherited from art::detail::Producer
template<typename UserConfig , typename KeysToIgnore = void>
using Table = Modifier::Table< UserConfig, KeysToIgnore >
 
- Public Types inherited from art::Modifier
template<typename UserConfig , typename UserKeysToIgnore = void>
using Table = ProducerTable< UserConfig, detail::ModuleConfig, UserKeysToIgnore >
 
- Static Public Member Functions inherited from art::EDProducer
static void commitEvent (EventPrincipal &ep, Event &e)
 
- Protected Member Functions inherited from art::ModuleBase
ConsumesCollectorconsumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > consumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< T > mayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Detailed Description

Definition at line 45 of file PandoraInterface_module.cc.

Constructor & Destructor Documentation

gar::gar_pandora::PandoraInterface::PandoraInterface ( fhicl::ParameterSet const &  p)
explicit

Definition at line 104 of file PandoraInterface_module.cc.

105  : EDProducer{pset}
106  {
107  this->reconfigure(pset);
108  }
EDProducer(fhicl::ParameterSet const &pset)
Definition: EDProducer.h:20
void reconfigure(fhicl::ParameterSet const &pset)
gar::gar_pandora::PandoraInterface::PandoraInterface ( PandoraInterface const &  )
delete
gar::gar_pandora::PandoraInterface::PandoraInterface ( PandoraInterface &&  )
delete

Member Function Documentation

void gar::gar_pandora::PandoraInterface::beginJob ( )
overridevirtual

Reimplemented from art::EDProducer.

Definition at line 111 of file PandoraInterface_module.cc.

112  {
113  try
114  {
115  MF_LOG_INFO("PandoraInterface - beginJob");
116 
118 
119  m_pPandora = new pandora::Pandora();
120  m_pRotation = new RotationTransformation(RotationTransformation::kAxisY, 90.);
126 
127  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, this->RegisterUserComponents());
128  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pGeometryCreator->CreateGeometry());
129  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::ReadSettings(*m_pPandora, m_settings.m_pandoraSettingsXmlFile));
130  }
131  catch (pandora::StatusCodeException &statusCodeException)
132  {
133  MF_LOG_ERROR("Failed to initialize PandoraInterface: ") << statusCodeException.ToString();
134  throw statusCodeException;
135  }
136  catch (std::exception &exception)
137  {
138  MF_LOG_ERROR("Failed to initialize PandoraInterface: std exception ") << exception.what();
139  throw exception;
140  }
141  catch (...)
142  {
143  MF_LOG_ERROR("Failed to initialize PandoraInterface: unrecognized exception");
144  throw;
145  }
146  }
PfoCreator * m_pPfoCreator
The pfo creator.
RotationTransformation * m_pRotation
The transformation tool for rotations.
#define MF_LOG_ERROR(category)
Settings m_settings
The settings for the pandora interface module.
pandora::StatusCode RegisterUserComponents() const
TrackCreator::Settings m_trackCreatorSettings
The track creator settings.
GeometryCreator::Settings m_geometryCreatorSettings
The geometry creator settings.
CaloHitCreator * m_pCaloHitCreator
The calo hit creator.
#define MF_LOG_INFO(category)
TrackCreator * m_pTrackCreator
The track creator.
CaloHitCreator::Settings m_caloHitCreatorSettings
The calo hit creator settings.
pandora::Pandora * m_pPandora
Address of the pandora instance.
std::string m_pandoraSettingsXmlFile
The pandora settings xml file.
MCParticleCreator::Settings m_mcParticleCreatorSettings
The mc particle creator settings.
MCParticleCreator * m_pMCParticleCreator
The mc particle creator.
GeometryCreator * m_pGeometryCreator
The geometry creator.
PfoCreator::Settings m_pfoCreatorSettings
The pfo creator settings.
pandora::StatusCode CreateGeometry() const
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void gar::gar_pandora::PandoraInterface::endJob ( )
overridevirtual

Reimplemented from art::EDProducer.

Definition at line 188 of file PandoraInterface_module.cc.

189  {
190  delete m_pPandora;
191  delete m_pGeometryCreator;
192  delete m_pCaloHitCreator;
193  delete m_pTrackCreator;
194  delete m_pMCParticleCreator;
195  delete m_pPfoCreator;
196 
197  MF_LOG_INFO("PandoraInterface::endJob()");
198  }
PfoCreator * m_pPfoCreator
The pfo creator.
CaloHitCreator * m_pCaloHitCreator
The calo hit creator.
#define MF_LOG_INFO(category)
TrackCreator * m_pTrackCreator
The track creator.
pandora::Pandora * m_pPandora
Address of the pandora instance.
MCParticleCreator * m_pMCParticleCreator
The mc particle creator.
GeometryCreator * m_pGeometryCreator
The geometry creator.
void gar::gar_pandora::PandoraInterface::FinaliseSteeringParameters ( )
private

Definition at line 284 of file PandoraInterface_module.cc.

285  {
286  auto const *magFieldService = gar::providerFrom<mag::MagneticFieldService>();
287  G4ThreeVector zerovec(0,0,0);
288  G4ThreeVector magfield = magFieldService->FieldAtPoint(zerovec);
289  m_settings.m_innerBField = magfield[0]; //x component at (0, 0, 0)
290 
291  fGeo = gar::providerFrom<geo::GeometryGAr>();
292 
295 
296  m_trackCreatorSettings.m_bField = magfield[0];
297  m_trackCreatorSettings.m_eCalBarrelInnerSymmetry = eCalBarrelExtension->inner_symmetry;
298  m_trackCreatorSettings.m_eCalBarrelInnerPhi0 = eCalBarrelExtension->inner_phi0;
299  m_trackCreatorSettings.m_eCalBarrelInnerR = eCalBarrelExtension->extent[0] * CLHEP::cm;
300  m_trackCreatorSettings.m_eCalEndCapInnerZ = eCalEndcapExtension->extent[2] * CLHEP::cm;
303 
304  m_caloHitCreatorSettings.m_eCalBarrelOuterZ = eCalBarrelExtension->extent[3] * CLHEP::cm;
305  m_caloHitCreatorSettings.m_eCalBarrelInnerPhi0 = eCalBarrelExtension->inner_phi0;
306  m_caloHitCreatorSettings.m_eCalBarrelInnerSymmetry = eCalBarrelExtension->inner_symmetry;
307  m_caloHitCreatorSettings.m_eCalBarrelOuterR = eCalBarrelExtension->extent[1] * CLHEP::cm;
308  m_caloHitCreatorSettings.m_eCalBarrelOuterPhi0 = eCalBarrelExtension->outer_phi0;
309  m_caloHitCreatorSettings.m_eCalBarrelOuterSymmetry = eCalBarrelExtension->outer_symmetry;
310  m_caloHitCreatorSettings.m_eCalEndCapOuterR = eCalEndcapExtension->extent[1] * CLHEP::cm;
311  m_caloHitCreatorSettings.m_eCalEndCapOuterZ = eCalEndcapExtension->extent[3] * CLHEP::cm;
314  }
static constexpr double cm
Definition: Units.h:68
float m_eCalBarrelInnerR
ECal barrel inner radius.
Definition: TrackCreator.h:43
int m_eCalBarrelInnerSymmetry
ECal barrel inner symmetry order.
Definition: TrackCreator.h:41
float m_eCalEndCapInnerZ
ECal endcap inner z.
Definition: TrackCreator.h:44
float m_eCalEndCapOuterR
ECal endcap outer r coordinate.
float m_innerBField
The bfield in the main tracker and ecal, units Tesla.
float m_eCalEndCapOuterZ
ECal endcap outer z coordinate.
float m_eCalBarrelInnerPhi0
ECal barrel inner phi0 coordinate.
const geo::GeometryCore * fGeo
pointer to the geometry
Settings m_settings
The settings for the pandora interface module.
float m_eCalBarrelOuterZ
ECal barrel outer z coordinate.
float m_eCalBarrelOuterPhi0
ECal barrel outer phi0 coordinate.
TrackCreator::Settings m_trackCreatorSettings
The track creator settings.
float m_eCalBarrelOuterR
ECal barrel outer r coordinate.
float TPCZCent() const
Returns the Z location of the center of the TPC in cm.
Definition: GeometryCore.h:792
float m_eCalBarrelInnerPhi0
ECal barrel inner phi 0.
Definition: TrackCreator.h:42
CaloHitCreator::Settings m_caloHitCreatorSettings
The calo hit creator settings.
unsigned int m_eCalEndCapInnerSymmetryOrder
ECal endcap inner symmetry.
unsigned int m_eCalBarrelOuterSymmetry
ECal barrel outer symmetry order.
float TPCYCent() const
Returns the Y location of the center of the TPC in cm.
Definition: GeometryCore.h:785
unsigned int m_eCalBarrelInnerSymmetry
ECal barrel inner symmetry order.
std::map< gar::geo::LayeredCalorimeterData::LayoutType, std::shared_ptr< gar::geo::LayeredCalorimeterData > > GetECALLayeredCalorimeterData() const
Definition: GeometryCore.h:628
float m_eCalEndCapInnerPhiCoordinate
ECal endcap inner phi.
const pandora::Pandora * gar::gar_pandora::PandoraInterface::GetPandora ( ) const

Definition at line 201 of file PandoraInterface_module.cc.

202  {
203  if (NULL == m_pPandora)
204  throw pandora::StatusCodeException(pandora::STATUS_CODE_NOT_INITIALIZED);
205 
206  return m_pPandora;
207  }
pandora::Pandora * m_pPandora
Address of the pandora instance.
PandoraInterface& gar::gar_pandora::PandoraInterface::operator= ( PandoraInterface const &  )
delete
PandoraInterface& gar::gar_pandora::PandoraInterface::operator= ( PandoraInterface &&  )
delete
void gar::gar_pandora::PandoraInterface::produce ( art::Event e)
overridevirtual

Implements art::EDProducer.

Definition at line 149 of file PandoraInterface_module.cc.

150  {
151  try
152  {
153  MF_LOG_INFO("PandoraInterface - produce");
154 
155  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pMCParticleCreator->CreateMCParticles(e));
156 
157  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pTrackCreator->CreateTracks(e));
158  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pTrackCreator->CreateTrackAssociations(e));
159  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pMCParticleCreator->CreateTrackToMCParticleRelationships(m_pTrackCreator->GetTrackVector()));
160 
161  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pCaloHitCreator->CreateCaloHits(e));
162  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pMCParticleCreator->CreateCaloHitToMCParticleRelationships(m_pCaloHitCreator->GetCalorimeterHitVector()));
163 
164  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::ProcessEvent(*m_pPandora));
165  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, m_pPfoCreator->CreateParticleFlowObjects(e));
166 
167  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::Reset(*m_pPandora));
168  this->Reset();
169  }
170  catch (pandora::StatusCodeException &statusCodeException)
171  {
172  MF_LOG_ERROR("pandora failed to process event: ") << statusCodeException.ToString();
173  throw statusCodeException;
174  }
175  catch (std::exception &exception)
176  {
177  MF_LOG_ERROR("pandora failed to process event: std exception ") << exception.what();
178  throw exception;
179  }
180  catch (...)
181  {
182  MF_LOG_ERROR("pandora failed to process event: unrecognized exception");
183  throw;
184  }
185  }
const TrackVector & GetTrackVector() const
Definition: TrackCreator.h:93
PfoCreator * m_pPfoCreator
The pfo creator.
const CalorimeterHitVector & GetCalorimeterHitVector() const
#define MF_LOG_ERROR(category)
pandora::StatusCode CreateTrackAssociations(const art::Event &pEvent)
pandora::StatusCode CreateCaloHits(const art::Event &pEvent)
pandora::StatusCode CreateCaloHitToMCParticleRelationships(const CalorimeterHitVector &calorimeterHitVector) const
CaloHitCreator * m_pCaloHitCreator
The calo hit creator.
#define MF_LOG_INFO(category)
TrackCreator * m_pTrackCreator
The track creator.
pandora::StatusCode CreateTracks(const art::Event &pEvent)
pandora::Pandora * m_pPandora
Address of the pandora instance.
pandora::StatusCode CreateMCParticles(const art::Event &pEvent)
pandora::StatusCode CreateParticleFlowObjects(art::Event &pEvent)
Definition: PfoCreator.cxx:35
pandora::StatusCode CreateTrackToMCParticleRelationships(const TrackVector &trackVector) const
MCParticleCreator * m_pMCParticleCreator
The mc particle creator.
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
void gar::gar_pandora::PandoraInterface::reconfigure ( fhicl::ParameterSet const &  pset)
private

Definition at line 239 of file PandoraInterface_module.cc.

240  {
241  //Find pandora xml config file
242  cet::search_path sp("FW_SEARCH_PATH");
243  std::string fullConfigFileName;
244  std::string pandora_file = pset.get<std::string>("PandoraXML");
245 
246  if( !sp.find_file(pandora_file, fullConfigFileName) )
247  throw cet::exception("PandoraInterface") << " Failed to find xml configuration file " << pandora_file << " in FW search path";
248  m_settings.m_pandoraSettingsXmlFile = fullConfigFileName;
249 
250  m_trackCreatorSettings.m_trackCollection = pset.get<std::string>("TrackLabel", "track"); //Track hits
251  m_trackCreatorSettings.m_V0Collection = pset.get<std::string>("V0Label", "vee"); //Vees
252  m_trackCreatorSettings.m_minTrackHits = pset.get<unsigned int>("MinTrackHits", 3); //Track quality cut: the minimum number of track hits
253  m_trackCreatorSettings.m_maxTrackHits = pset.get<unsigned int>("MaxTrackHits", 5000); //Track quality cut: the maximum number of track hits
254  m_trackCreatorSettings.m_d0TrackCut = pset.get<float>("d0TrackCut", 50.); //Track quality cut: d0
255  m_trackCreatorSettings.m_z0TrackCut = pset.get<float>("z0TrackCut", 50.); //Track quality cut: z0
256  m_trackCreatorSettings.m_minTrackECalDistanceFromIp = pset.get<float>("MinTrackECalDistanceFromIp", 100.); //Track quality cut: separation between ip and track projected at ECAL
257  m_trackCreatorSettings.m_maxTrackSigmaPOverP = pset.get<float>("MaxTrackSigmaPOverP", 0.15); //Cut on fractional track momentum error
258 
259  m_caloHitCreatorSettings.m_CaloHitCollection = pset.get<std::string>("CaloHitLabel", "sscalohit"); //Calo hits
260  m_caloHitCreatorSettings.m_CaloHitInstanceName = pset.get<std::string>("CaloHitInstanceCalo", ""); //Calo hits instance name
261  m_caloHitCreatorSettings.m_eCalToMip = pset.get<float>("ECaltoMipCalibration", 1.); //The calibration from deposited ECal energy to mip
262  m_caloHitCreatorSettings.m_eCalMipThreshold = pset.get<float>("ECalMipThreshold", 0.25); //Threshold for creating calo hits in the ECal, units mip
263  m_caloHitCreatorSettings.m_eCalToEMGeV = pset.get<float>("ECalToEMGeVCalibration", 1.); //The calibration from deposited ECal energy to EM energy
264  m_caloHitCreatorSettings.m_eCalToHadGeVBarrel = pset.get<float>("ECalToHadGeVCalibrationBarrel", 1.); //The calibration from deposited ECal energy to hadronic energy in the barrel
265  m_caloHitCreatorSettings.m_eCalToHadGeVEndCap = pset.get<float>("ECalToHadGeVCalibrationEndCap", 1.); //The calibration from deposited ECal energy to hadronic energy in the endcap
266  m_caloHitCreatorSettings.m_maxECalHitHadronicEnergy = pset.get<float>("MaxECalHitHadronicEnergy", 10000.); //The maximum hadronic energy allowed for a single ecal hit
267  m_caloHitCreatorSettings.m_nOuterSamplingLayers = pset.get<unsigned int>("NOuterSamplingLayers", 3); //Number of layers from edge for hit to be flagged as an outer layer hit
268  m_caloHitCreatorSettings.m_layersFromEdgeMaxRearDistance = pset.get<float>("LayersFromEdgeMaxRearDistance", 250.); //Maximum number of layers from candidate outer layer hit to rear of detector
269  m_caloHitCreatorSettings.m_eCalBarrelNormalVector = pset.get<std::vector<float>>("ECalBarrelNormalVector", std::vector<float>{0., 0., 1.}); //Normal vector for the ECal barrel sensitive layers in local coordinates
270 
271  m_mcParticleCreatorSettings.m_geantModuleLabel = pset.get<std::string>("Geant4Label", "geant"); //geant4
272  m_mcParticleCreatorSettings.m_generatorModuleLabel = pset.get<std::string>("GeneratorLabel", "genie"); //generator
273 
274  m_pfoCreatorSettings.m_emStochasticTerm = pset.get<float>("EMStockasticTerm", 0.17);
275  m_pfoCreatorSettings.m_emConstantTerm = pset.get<float>("EMConstantTerm", 0.01);
276  m_pfoCreatorSettings.m_hadStochasticTerm = pset.get<float>("HADStockasticTerm", 0.3);
277  m_pfoCreatorSettings.m_hadStochasticTerm = pset.get<float>("HADConstantTerm", 0.1);
278 
279  produces< std::vector<gar::rec::Cluster> >();
280  produces< std::vector<gar::rec::PFParticle> >();
281  }
float m_eCalToHadGeVEndCap
The calibration from deposited ECal endcap energy to hadronic energy.
std::string m_geantModuleLabel
The geant4 label.
std::string m_CaloHitCollection
The calorimeter hit collection.
float m_eCalMipThreshold
Threshold for creating calo hits in the ECal, units mip.
std::string m_V0Collection
The vees collection.
Definition: TrackCreator.h:26
unsigned int m_maxTrackHits
Track quality cut: the maximum number of track hits.
Definition: TrackCreator.h:29
std::string string
Definition: nybbler.cc:12
std::string m_generatorModuleLabel
The generator label.
float m_d0TrackCut
Track d0 cut used to determine whether track can be used to form pfo.
Definition: TrackCreator.h:31
float m_eCalToEMGeV
The calibration from deposited ECal energy to EM energy.
float m_minTrackECalDistanceFromIp
Sanity check on separation between ip and track projected ecal position.
Definition: TrackCreator.h:37
int m_nOuterSamplingLayers
Number of layers from edge for hit to be flagged as an outer layer hit.
float m_hadStochasticTerm
The stochastic term for HAD shower energy resolution.
Definition: PfoCreator.h:34
float m_z0TrackCut
Track z0 cut used to determine whether track can be used to form pfo.
Definition: TrackCreator.h:32
float m_eCalToHadGeVBarrel
The calibration from deposited ECal barrel energy to hadronic energy.
Settings m_settings
The settings for the pandora interface module.
float m_emConstantTerm
The constant term for EM shower energy resolution.
Definition: PfoCreator.h:33
TrackCreator::Settings m_trackCreatorSettings
The track creator settings.
std::string m_CaloHitInstanceName
The calorimeter hit instance name.
FloatVector m_eCalBarrelNormalVector
ECal barrel normal vector.
float m_emStochasticTerm
The stochastic term for EM shower energy resolution.
Definition: PfoCreator.h:32
CaloHitCreator::Settings m_caloHitCreatorSettings
The calo hit creator settings.
std::string m_pandoraSettingsXmlFile
The pandora settings xml file.
unsigned int m_minTrackHits
Track quality cut: the minimum number of track hits.
Definition: TrackCreator.h:28
std::string m_trackCollection
The reconstructed track collection.
Definition: TrackCreator.h:25
MCParticleCreator::Settings m_mcParticleCreatorSettings
The mc particle creator settings.
float m_eCalToMip
The calibration from deposited ECal energy to mip.
float m_maxTrackSigmaPOverP
Track fraction momentum error cut.
Definition: TrackCreator.h:38
float m_maxECalHitHadronicEnergy
The maximum hadronic energy allowed for a single hcal hit.
PfoCreator::Settings m_pfoCreatorSettings
The pfo creator settings.
float m_layersFromEdgeMaxRearDistance
Maximum number of layers from candidate outer layer hit to rear of detector.
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
pandora::StatusCode gar::gar_pandora::PandoraInterface::RegisterUserComponents ( ) const
private

Definition at line 210 of file PandoraInterface_module.cc.

211  {
212  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, LCContent::RegisterAlgorithms(*m_pPandora));
213 
214  //Shower profile Plugin
215  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::SetShowerProfilePlugin(*m_pPandora, new lc_content::LCShowerProfilePlugin));
216  //Energy Correction LCPlugins
217  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterEnergyCorrectionPlugin(*m_pPandora, "CleanClusters", pandora::HADRONIC, new lc_content::LCEnergyCorrectionPlugins::CleanCluster));
218  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterEnergyCorrectionPlugin(*m_pPandora, "ScaleHotHadrons", pandora::HADRONIC, new lc_content::LCEnergyCorrectionPlugins::ScaleHotHadrons));
219  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterEnergyCorrectionPlugin(*m_pPandora, "MuonCoilCorrection", pandora::HADRONIC, new lc_content::LCEnergyCorrectionPlugins::MuonCoilCorrection));
220 
221  //PID LCPlugins
222  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterParticleIdPlugin(*m_pPandora, "LCEmShowerId" , new lc_content::LCParticleIdPlugins::LCEmShowerId));
223  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterParticleIdPlugin(*m_pPandora, "LCPhotonId" , new lc_content::LCParticleIdPlugins::LCPhotonId));
224  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterParticleIdPlugin(*m_pPandora, "LCElectronId" , new lc_content::LCParticleIdPlugins::LCElectronId));
225  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::RegisterParticleIdPlugin(*m_pPandora, "LCMuonId" , new lc_content::LCParticleIdPlugins::LCMuonId));
226 
227  //Custom Plugins
228  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::SetBFieldPlugin(*m_pPandora,
229  new BFieldPlugin()));
230  PANDORA_THROW_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, PandoraApi::SetPseudoLayerPlugin(*m_pPandora, new PseudoLayerPlugin));
231 
232  PANDORA_RETURN_RESULT_IF(pandora::STATUS_CODE_SUCCESS, !=, LCContent::RegisterNonLinearityEnergyCorrection(*m_pPandora,
234 
235  return pandora::STATUS_CODE_SUCCESS;
236  }
std::vector< float > m_inputEnergyCorrectionPoints
The input energy points for non-linearity energy correction.
Settings m_settings
The settings for the pandora interface module.
pandora::Pandora * m_pPandora
Address of the pandora instance.
std::vector< float > m_outputEnergyCorrectionPoints
The output energy points for non-linearity energy correction.
void gar::gar_pandora::PandoraInterface::Reset ( )
private

Definition at line 317 of file PandoraInterface_module.cc.

318  {
322  }
CaloHitCreator * m_pCaloHitCreator
The calo hit creator.
TrackCreator * m_pTrackCreator
The track creator.
MCParticleCreator * m_pMCParticleCreator
The mc particle creator.

Member Data Documentation

const geo::GeometryCore* gar::gar_pandora::PandoraInterface::fGeo
private

pointer to the geometry

Definition at line 100 of file PandoraInterface_module.cc.

CaloHitCreator::Settings gar::gar_pandora::PandoraInterface::m_caloHitCreatorSettings {}
private

The calo hit creator settings.

Definition at line 94 of file PandoraInterface_module.cc.

GeometryCreator::Settings gar::gar_pandora::PandoraInterface::m_geometryCreatorSettings {}
private

The geometry creator settings.

Definition at line 95 of file PandoraInterface_module.cc.

MCParticleCreator::Settings gar::gar_pandora::PandoraInterface::m_mcParticleCreatorSettings {}
private

The mc particle creator settings.

Definition at line 96 of file PandoraInterface_module.cc.

CaloHitCreator* gar::gar_pandora::PandoraInterface::m_pCaloHitCreator = nullptr
private

The calo hit creator.

Definition at line 86 of file PandoraInterface_module.cc.

PfoCreator::Settings gar::gar_pandora::PandoraInterface::m_pfoCreatorSettings {}
private

The pfo creator settings.

Definition at line 98 of file PandoraInterface_module.cc.

GeometryCreator* gar::gar_pandora::PandoraInterface::m_pGeometryCreator = nullptr
private

The geometry creator.

Definition at line 87 of file PandoraInterface_module.cc.

MCParticleCreator* gar::gar_pandora::PandoraInterface::m_pMCParticleCreator = nullptr
private

The mc particle creator.

Definition at line 89 of file PandoraInterface_module.cc.

pandora::Pandora* gar::gar_pandora::PandoraInterface::m_pPandora = nullptr
private

Address of the pandora instance.

Definition at line 85 of file PandoraInterface_module.cc.

PfoCreator* gar::gar_pandora::PandoraInterface::m_pPfoCreator = nullptr
private

The pfo creator.

Definition at line 90 of file PandoraInterface_module.cc.

RotationTransformation* gar::gar_pandora::PandoraInterface::m_pRotation = nullptr
private

The transformation tool for rotations.

Definition at line 91 of file PandoraInterface_module.cc.

TrackCreator* gar::gar_pandora::PandoraInterface::m_pTrackCreator = nullptr
private

The track creator.

Definition at line 88 of file PandoraInterface_module.cc.

Settings gar::gar_pandora::PandoraInterface::m_settings {}
private

The settings for the pandora interface module.

Definition at line 93 of file PandoraInterface_module.cc.

TrackCreator::Settings gar::gar_pandora::PandoraInterface::m_trackCreatorSettings {}
private

The track creator settings.

Definition at line 97 of file PandoraInterface_module.cc.


The documentation for this class was generated from the following file: