![]() |
|
|||
File indexing completed on 2025-04-19 09:10:14
0001 #ifndef SHERPA_Single_Events_Jet_Evolution_H 0002 #define SHERPA_Single_Events_Jet_Evolution_H 0003 0004 #include "SHERPA/Single_Events/Event_Phase_Handler.H" 0005 #include "SHERPA/PerturbativePhysics/Matrix_Element_Handler.H" 0006 #include "SHERPA/SoftPhysics/Hadron_Decay_Handler.H" 0007 #include "SHERPA/PerturbativePhysics/Shower_Handler.H" 0008 #include "SHERPA/PerturbativePhysics/Perturbative_Interface.H" 0009 #include "SHERPA/SoftPhysics/Soft_Collision_Handler.H" 0010 #include "SHERPA/SoftPhysics/Beam_Remnant_Handler.H" 0011 #include "SHERPA/PerturbativePhysics/MI_Handler.H" 0012 0013 0014 namespace REMNANTS { class Remnant_Handler; } 0015 0016 namespace SHERPA { 0017 0018 class Hard_Decay_Handler; 0019 class Beam_Remnant_Handler; 0020 0021 class Jet_Evolution: public Event_Phase_Handler { 0022 private : 0023 REMNANTS::Remnant_Handler * p_remnants; 0024 PertInterfaceMap m_pertinterfaces; 0025 0026 void FillPerturbativeInterfaces(Matrix_Element_Handler *, 0027 Hard_Decay_Handler*, 0028 Decay_Handler_Base *, 0029 const MI_Handler_Map *, 0030 const Soft_Collision_Handler_Map *, 0031 const Shower_Handler_Map &, 0032 REMNANTS::Remnant_Handler_Map &); 0033 PertInterfaceIter SelectInterface(ATOOLS::Blob * blob); 0034 ATOOLS::Return_Value::code AttachShowers(ATOOLS::Blob *,ATOOLS::Blob_List *, 0035 Perturbative_Interface *); 0036 0037 void Reset(); 0038 void Update(ATOOLS::Blob *,const size_t, 0039 Perturbative_Interface *); 0040 bool DefineInitialConditions(const ATOOLS::Blob *,const ATOOLS::Blob_List *, 0041 Perturbative_Interface *); 0042 bool AftermathOfNoShower(ATOOLS::Blob *,ATOOLS::Blob_List *); 0043 bool AftermathOfSuccessfulShower(ATOOLS::Blob *,ATOOLS::Blob_List *, 0044 Perturbative_Interface *); 0045 ATOOLS::Blob * CreateMockShowerBlobs(ATOOLS::Blob * const meblob, 0046 ATOOLS::Blob_List * const bloblist); 0047 0048 public : 0049 Jet_Evolution(Matrix_Element_Handler * me, 0050 Hard_Decay_Handler * harddecs, 0051 Decay_Handler_Base * decs, 0052 const MI_Handler_Map * mihandlers, 0053 const Soft_Collision_Handler_Map * schandlers, 0054 const Shower_Handler_Map &showers, 0055 REMNANTS::Remnant_Handler_Map &remnanthandlers); 0056 ~Jet_Evolution(); 0057 0058 ATOOLS::Return_Value::code Treat(ATOOLS::Blob_List*); 0059 void CleanUp(const size_t & mode=0); 0060 void Finish(const std::string &); 0061 0062 };// end of class Jet_Evolution 0063 0064 /*! 0065 \file 0066 \brief Contains the class SHERPA::Jet_Evolution 0067 */ 0068 /*! 0069 \class Jet_Evolution 0070 \brief The handler for the perturbative shower evolution around hard production processes or decays. 0071 0072 This class deals with the perturbative evolution of a parton ensemble after a hard production process 0073 or decay has taken place. This evolution is modelled through multiple readiation of secondaries, 0074 formulated in a shower language. This class therefore contains a pointer to a Shower_Handler, to 0075 accomodate a suitable merging of the regimes of jet production (as modelled, e.g., by the Signal_Processes) 0076 and jet evolution, i.e. the showers, an interface has to be defined. This interface will ensure 0077 - a proper filling of the phase space for the emission of secondaries without double counting (over or 0078 under counting) and it depends to a large extend on the actual shower and the information passed 0079 by the Matrix_Element_Handler. Consequently, this handler also has to access such information which is 0080 achieved by a pointer to the actual Matrix_Element_Handler. 0081 */ 0082 /*! 0083 \var Jet_Evolution::m_pertinterfaces 0084 The map of interfaces between matrix element and parton/dipole showers. This interface basically 0085 is responsible for taking the blob stemming from the hard production process or decay and translate the 0086 corresponding partons into a parton history suitable for showering (in the actual case of a parton shower 0087 this boils down to the fillnig of the partons into a binary tree structure of 1->2 decays of "mothers" 0088 into "daughters"). It should be stressed that every combination of matrix element generator and shower 0089 needs a specific realization of this due to different information obtainalble from the matrix elements and 0090 different shower variables used in the shower. The possible keys for this map are: 0091 - \c SignalMEs 0092 - \c HadronDecays 0093 - \c MPIs 0094 - \c SoftCollisions 0095 */ 0096 /*! 0097 \fn Jet_Evolution::Jet_Evolution(Matrix_Element_Handler *,Shower_Handler *) 0098 In the constructor the pointers to the Matrix_Element_Handler and the Shower_Handler are copied. Also, 0099 the constructor sets the name and type of the Event_Phase_Handler, m_name and m_type. The name is 0100 "Jet_Evolution : " plus the name of the shower generator, and the type is "Perturbative". Then a suitable 0101 interface between the matrix elements and the parton shower is instantiated. At the moment, only two 0102 such interfaces are available, namely Amegic_Apacic_Interface and SimpleXS_Apacic_Interface. 0103 */ 0104 /*! 0105 \fn Jet_Evolution::~Jet_Evolution() 0106 Deletes the Perturbative_Interface. 0107 */ 0108 /*! 0109 \fn bool Jet_Evolution::Treat(ATOOLS::Blob_List*) 0110 In this method all blobs with status equal to one and of type "Signal Process :" are dealt with by 0111 the follwonig steps: 0112 \todo Andreas, we have to fill this. 0113 */ 0114 /*! 0115 \fn void Jet_Evolution::CleanUp() 0116 Cleans up the shower handler by its corresponding method. 0117 */ 0118 } 0119 #endif 0120
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |