Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-27 09:14:59

0001 /**
0002  *  @file   LCContent/include/LCV0PfoCreationAlgorithm.h
0003  *
0004  *  @brief  Header file for the v0 pfo creation algorithm class.
0005  *
0006  *  $Log: $
0007  */
0008 #ifndef LC_V0_PFO_CREATION_ALGORITHM_H
0009 #define LC_V0_PFO_CREATION_ALGORITHM_H 1
0010 
0011 #include "Pandora/Algorithm.h"
0012 
0013 #include "Objects/CartesianVector.h"
0014 
0015 namespace lc_content {
0016 
0017 /**
0018  *  @brief  V0PfoCreationAlgorithm class
0019  */
0020 class V0PfoCreationAlgorithm : public pandora::Algorithm {
0021 public:
0022   /**
0023    *  @brief Default constructor
0024    */
0025   V0PfoCreationAlgorithm();
0026 
0027 private:
0028   pandora::StatusCode Run();
0029   pandora::StatusCode ReadSettings(const pandora::TiXmlHandle xmlHandle);
0030 
0031   /**
0032    *  @brief  Calculate the invariant mass for a decaying charged particle
0033    *
0034    *  @param  momentum1 is cartesian vector of track1 at start
0035    *  @param  momentum2 is cartesian vector of track2 at start
0036    *  @param  mass1 is assumed mass of track1
0037    *  @param  mass2 is assumed mass of track2
0038    *  @param  v0energy to receive resulting V0 energy
0039    *  @param  v0mass to receive resulting V0 mass
0040    */
0041   pandora::StatusCode GetV0Mass(const pandora::CartesianVector& momentum1, const pandora::CartesianVector& momentum2,
0042                                 float mass1, float mass2, float& v0energy, float& v0mass) const;
0043 
0044   bool m_mcMonitoring; ///< Whether to use mc monitoring functionality
0045 };
0046 
0047 } // namespace lc_content
0048 
0049 #endif // #ifndef LC_V0_PFO_ALGORITHM_H