![]() |
|
|||
File indexing completed on 2025-04-19 09:10:14
0001 #ifndef SHERPA_Single_Events_Hadron_Decays_H 0002 #define SHERPA_Single_Events_Hadron_Decays_H 0003 0004 #include "SHERPA/Single_Events/Event_Phase_Handler.H" 0005 #include "ATOOLS/Org/Return_Value.H" 0006 0007 namespace ATOOLS { 0008 class Blob; 0009 class Particle; 0010 class Blob_List; 0011 } 0012 0013 namespace SHERPA { 0014 class Decay_Handler_Base; 0015 0016 class Hadron_Decays : public Event_Phase_Handler { 0017 private : 0018 Decay_Handler_Base * p_dechandler; 0019 0020 public : 0021 Hadron_Decays(Decay_Handler_Base *); 0022 ~Hadron_Decays(); 0023 0024 ATOOLS::Return_Value::code Treat(ATOOLS::Blob_List*); 0025 void CleanUp(const size_t & mode=0); 0026 void Finish(const std::string &); 0027 }; 0028 0029 /*! 0030 \file Hadron_Decays.H 0031 \brief Declares the class SHERPA::Hadron_Decays 0032 */ 0033 /*! 0034 \class Hadron_Decays 0035 \brief Treats blobs containing hadrons to be decayed (which contain status 0036 needs_hadrondecays) 0037 0038 The basic idea is a separation between the creation of the decay blob of 0039 each daughter particle (CreateDecayBlob), and filling the mother blob with 0040 kinematics (Treat). 0041 While the creation step has to make sure 0042 that everything is known for subsequently dicing the mass of the decaying 0043 hadron, the filling step does the kinematics in the CMS and then boosts and 0044 stretches the momenta to the lab CMS and their final masses. 0045 */ 0046 /*! 0047 \fn Hadron_Decays::Treat(ATOOLS::Blob_List*) 0048 \brief Treats all blobs in a blob list which need hadron decays. 0049 0050 This method recurses through the bloblist and when it finds a blob which needs 0051 hadron decays, it decays all its daughters. Care is taken for the following 0052 special features: 0053 - The daughters are treated in random order to avoid biases in spin correlations 0054 - If a fragmentation blob is encountered, it is checked whether it stems from a 0055 partonic hadron decay. If it does, and it produced an exclusive decay channel 0056 of that decaying hadron, it is rejected and redone, as to not spoil that 0057 hadrons branching ratio. 0058 - all outparticles of the incoming blob are set off-shell according to their 0059 decay channels. 0060 */ 0061 /*! 0062 \fn Hadron_Decays::Treat(ATOOLS::Blob*) 0063 \brief Treats the given blob by adding decay products kinematics, and 0064 boosting and stretching the blob such that it finally is back in the lab 0065 frame and the daughter particles have off-shell masses. 0066 For that it first has to do the on-shell kinematics, then create the 0067 daughter decay blobs to know how to smear the daughter masses, and finally 0068 boost and stretch everything back. 0069 */ 0070 0071 } 0072 #endif 0073
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |