8 #ifndef LAR_DL_SIGNAL_ALGORITHM_H 9 #define LAR_DL_SIGNAL_ALGORITHM_H 1 11 #include "Pandora/Algorithm.h" 12 #include "Pandora/AlgorithmHeaders.h" 40 typedef std::pair<int, int>
Pixel;
41 typedef std::map<const pandora::CaloHit *, Pixel>
PixelMap;
43 pandora::StatusCode Run();
44 pandora::StatusCode ReadSettings(
const pandora::TiXmlHandle xmlHandle);
45 pandora::StatusCode PrepareTrainingSample();
46 pandora::StatusCode Infer();
47 pandora::StatusCode CheatedSeparation();
63 pandora::StatusCode MakeNetworkInputFromHits(
const pandora::CaloHitList &caloHits,
const pandora::HitType view,
const float xMin,
64 const float xMax,
const float zMin,
const float zMax,
LArDLHelper::TorchInput &networkInput, PixelMap &pixelMap)
const;
97 void GetHitRegion(
const pandora::CaloHitList &caloHitList,
float &xMin,
float &xMax,
float &zMin,
float &zMax)
const;
127 const int PHOTON_CLASS{2};
128 const int ELECTRON_CLASS{3};
129 const int SIGNAL_CLASS{2};
134 #endif // LAR_DL_SIGNAL_ALGORITHM_H std::string m_signalListNameV
Output signal CaloHitListV name.
std::string m_rootFileName
The ROOT file name.
std::unordered_map< const pandora::MCParticle *, pandora::CaloHitList > MCContributionMap
int m_width
The width of the images.
std::string m_caloHitListName2D
Input CaloHitList2D name.
int m_height
The height of the images.
std::pair< int, int > Pixel
pandora::StringVector m_caloHitListNames
Names of input calo hit lists.
std::string m_signalListNameW
Output signal CaloHitListW name.
bool m_trainingMode
Training mode.
torch::jit::script::Module TorchModel
std::map< std::pair< int, int >, std::vector< const pandora::CaloHit * > > PixelToCaloHitsMap
int m_pass
The pass of the train/infer step.
LArDLHelper::TorchModel m_modelU
The model for the U view.
LArDLHelper::TorchModel m_modelW
The model for the W view.
std::string m_trainingOutputFile
Output file name for training examples.
bool m_visualise
Whether or not to visualise the candidate vertices.
std::string m_rootTreeName
The ROOT tree name.
std::string m_inputSignalListName
Input vertex list name if 2nd pass.
Header file for the lar monte carlo particle helper helper class.
Header file for the lar deep learning helper helper class.
std::string m_backgroundListName
Input Background CaloHitList name.
long unsigned int m_passOneTrustThreshold
Number of pixels in pass one required to trust the wire finding ability, below this threshold...
std::mt19937 m_rng
The random number generator.
pandora::StringVector m_inputCaloHitListNames
Names of input calo hit lists, passed from Pass 1 of DLSignalAlg.
int m_event
The current event number.
std::string m_signalListName2D
Output signal CaloHitList2D name.
bool m_applyCheatedSeparation
Whether cheating to separate background and signal hits.
LArDLHelper::TorchModel m_modelV
The model for the V view.
float m_driftStep
The size of a pixel in the drift direction in cm (most relevant in pass 2)
bool m_printOut
Whether or not to print out network outputs of CaloHitList names and sizes.
DeepLearningSignalIdAlgorithm class.
bool m_simpleZoom
Decide whethere to run a simple loop to find highest adc hit or run network.
std::map< const pandora::CaloHit *, Pixel > PixelMap
bool m_writeTree
Whether or not to write validation details to a ROOT tree.
std::string m_signalListNameU
Output signal CaloHitListU name.