Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-07-01 07:05:42

0001 /**
0002  \file
0003  Declaration of class erhic::EventDjangoh.
0004  
0005  \author    Thomas Burton
0006  \date      2011-07-07
0007  \copyright 2011 Brookhaven National Lab
0008  */
0009 
0010 #ifndef INCLUDE_EICSMEAR_ERHIC_EVENTDJANGOH_H_
0011 #define INCLUDE_EICSMEAR_ERHIC_EVENTDJANGOH_H_
0012 
0013 #include <string>
0014 
0015 #include <Rtypes.h>
0016 
0017 #include "eicsmear/erhic/EventMC.h"
0018 
0019 namespace erhic {
0020 
0021 class ParticleMC;
0022 
0023 /**
0024  Describes an event from the generator DJANGOH.
0025  */
0026 class EventDjangoh : public EventMC {
0027  public:
0028   /**
0029    Constructor.
0030    */
0031   EventDjangoh() { }
0032   /**
0033    Parses the event information from a text string with the following format
0034    (no newlines):
0035    \verbatime
0036    "0 eventNum channel process subprocess nucleon parton partonTrack y Q2 x W2
0037    nu trueY tueQ2 trueX trueW2 trueNu crossSection crossSectionError
0038    depolarisation F1NC F3NC G1NC G3NC A1NC F1CC F3CC G1CC G5CC numTracks"
0039    \endverbatim
0040    Returns true in the event of a successful read operation,
0041    false in case of an error.
0042    */
0043   virtual bool Parse(const std::string&);
0044 
0045   /**
0046    Returns a pointer to the exchange boson, or NULL if it cannot be found.
0047    */
0048   virtual const ParticleMC* ExchangeBoson() const;
0049 
0050   /**
0051    Returns a pointer to the scattered lepton, or NULL if it cannot be found.
0052    */
0053   virtual const ParticleMC* ScatteredLepton() const;
0054 
0055   Int_t nucleon;
0056   Int_t IChannel;
0057   Int_t dprocess;
0058   Int_t dstruckparton;
0059   Int_t dpartontrck;
0060   Int_t evtstatus;
0061   Double32_t dY;
0062   Double32_t dQ2;
0063   Double32_t dX;
0064   Double32_t dW2;
0065   Double32_t dNu;
0066   Double32_t dtrueY;
0067   Double32_t dtrueQ2;
0068   Double32_t dtrueX;
0069   Double32_t dtrueW2;
0070   Double32_t dtrueNu;
0071   Double32_t sigTot;
0072   Double32_t sigTotErr;
0073   Double32_t D;
0074   Double32_t F1NC;
0075   Double32_t F3NC;
0076   Double32_t G1NC;
0077   Double32_t G3NC;
0078   Double32_t A1NC;
0079   Double32_t F1CC;
0080   Double32_t F3CC;
0081   Double32_t G1CC;
0082   Double32_t G5CC;
0083 
0084   ClassDef(erhic::EventDjangoh, 2)
0085 };
0086 
0087 // DJANGOH gives particle output according to the LEPTO convention, whereby
0088 // the exchange boson comes before the scattered lepton. This is different
0089 // to the PYTHIA convention (lepton then boson), which is the default from
0090 // EventMC.
0091 inline const ParticleMC* EventDjangoh::ExchangeBoson() const {
0092   return GetTrack(2);
0093 }
0094 
0095 inline const ParticleMC* EventDjangoh::ScatteredLepton() const {
0096   return GetTrack(3);
0097 }
0098 
0099 }  // namespace erhic
0100 
0101 #endif  // INCLUDE_EICSMEAR_ERHIC_EVENTDJANGOH_H_