Line data Source code
1 : #ifndef ALIGENHEPMCEVENTHEADER_H
2 : #define ALIGENHEPMCEVENTHEADER_H
3 :
4 : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 : * See cxx source for full Copyright notice */
6 :
7 : /* $Id$ */
8 :
9 : #include "AliGenEventHeader.h"
10 :
11 :
12 0 : class AliGenHepMCEventHeader : public AliGenEventHeader
13 : {
14 : public:
15 : AliGenHepMCEventHeader();
16 : AliGenHepMCEventHeader(const char* name);
17 : AliGenHepMCEventHeader(
18 : Int_t Ncoll_hard, // Number of hard scatterings
19 : Int_t Npart_proj, // Number of projectile participants
20 : Int_t Npart_targ, // Number of target participants
21 : Int_t Ncoll, // Number of NN (nucleon-nucleon) collisions
22 : Int_t spectator_neutrons, // Number of spectator neutrons
23 : Int_t spectator_protons, // Number of spectator protons
24 : Int_t N_Nwounded_collisions, // Number of N-Nwounded collisions
25 : Int_t Nwounded_N_collisions, // Number of Nwounded-N collisons
26 : Int_t Nwounded_Nwounded_collisions, // Number of Nwounded-Nwounded collisions
27 : Float_t impact_parameter, // Impact Parameter(in fm) of collision
28 : Float_t event_plane_angle, // Azimuthal angle of event plane
29 : Float_t eccentricity, // eccentricity of participating nucleons in the transverse plane (as in phobos nucl-ex/0510031)
30 : Float_t sigma_inel_NN, // nucleon-nucleon inelastic (including diffractive) cross-section
31 : Int_t id1, // flavour code of first parton
32 : Int_t id2, // flavour code of second parton
33 : Int_t pdf_id1, // LHAPDF set id of first parton
34 : Int_t pdf_id2, // LHAPDF set id of second parton
35 : Double_t x1, // fraction of beam momentum carried by first parton ("beam side")
36 : Double_t x2, // fraction of beam momentum carried by second parton ("target side")
37 : Double_t scalePDF, // Q-scale used in evaluation of PDF's (in GeV)
38 : Double_t pdf1, // PDF (id1, x1, Q) - x*f(x)
39 : Double_t pdf2 // PDF (id2, x2, Q) - x*f(x)
40 : );
41 0 : virtual ~AliGenHepMCEventHeader() {}
42 :
43 :
44 0 : Int_t Ncoll_hard() const {return fNcoll_hard;} // Number of hard scatterings
45 0 : Int_t Npart_proj() const {return fNpart_proj;} // Number of projectile participants
46 0 : Int_t Npart_targ() const {return fNpart_targ;} // Number of target participants
47 0 : Int_t Ncoll() const {return fNcoll;} // Number of NN (nucleon-nucleon) collisions
48 0 : Int_t spectator_neutrons() const {return fspectator_neutrons;} // Number of spectator neutrons
49 0 : Int_t spectator_protons() const {return fspectator_protons;} // Number of spectator protons
50 0 : Int_t N_Nwounded_collisions() const {return fN_Nwounded_collisions;} // Number of N-Nwounded collisions
51 0 : Int_t Nwounded_N_collisions() const {return fNwounded_N_collisions;} // Number of Nwounded-N collisons
52 0 : Int_t Nwounded_Nwounded_collisions() const {return fNwounded_Nwounded_collisions;} // Number of Nwounded-Nwounded collisions
53 0 : Float_t impact_parameter() const {return fimpact_parameter;} // Impact Parameter(in fm) of collision
54 0 : Float_t event_plane_angle() const {return fevent_plane_angle;} // Azimuthal angle of event plane
55 0 : Float_t eccentricity() const {return feccentricity;} // eccentricity of participating nucleons in the transverse plane (as in phobos nucl-ex/0510031)
56 0 : Float_t sigma_inel_NN() const {return fsigma_inel_NN;} // nucleon-nucleon inelastic (including diffractive) cross-section
57 :
58 0 : Int_t id1() const {return fid1;} // flavour code of first parton
59 0 : Int_t id2() const {return fid2;} // flavour code of second parton
60 0 : Int_t pdf_id1() const {return fpdf_id1;} // LHAPDF set id of first parton
61 0 : Int_t pdf_id2() const {return fpdf_id2;} // LHAPDF set id of second parton
62 0 : Double_t x1() const {return fx1;} // fraction of beam momentum carried by first parton ("beam side")
63 0 : Double_t x2() const {return fx2;} // fraction of beam momentum carried by second parton ("target side")
64 0 : Double_t scalePDF() const {return fscalePDF;} // Q-scale used in evaluation of PDF's (in GeV)
65 0 : Double_t pdf1() const {return fpdf1;} // PDF (id1, x1, Q) - x*f(x)
66 0 : Double_t pdf2() const {return fpdf2;} // PDF (id2, x2, Q) - x*f(x)
67 :
68 : // convenience functions to check if the headers are containing information
69 : Bool_t HeavyIonInfoValid();
70 : Bool_t PDFValid();
71 :
72 : protected:
73 :
74 : Int_t fNcoll_hard; // Number of hard scatterings
75 : Int_t fNpart_proj; // Number of projectile participants
76 : Int_t fNpart_targ; // Number of target participants
77 : Int_t fNcoll; // Number of NN (nucleon-nucleon) collisions
78 : Int_t fspectator_neutrons; // Number of spectator neutrons
79 : Int_t fspectator_protons; // Number of spectator protons
80 : Int_t fN_Nwounded_collisions; // Number of N-Nwounded collisions
81 : Int_t fNwounded_N_collisions; // Number of Nwounded-N collisons
82 : Int_t fNwounded_Nwounded_collisions; // Number of Nwounded-Nwounded collisions
83 : Float_t fimpact_parameter; // Impact Parameter(in fm) of collision
84 : Float_t fevent_plane_angle; // Azimuthal angle of event plane
85 : Float_t feccentricity; // eccentricity of participating nucleons in the transverse plane (as in phobos nucl-ex/0510031)
86 : Float_t fsigma_inel_NN; // nucleon-nucleon inelastic (including diffractive) cross-section
87 :
88 : Int_t fid1; // flavour code of first parton
89 : Int_t fid2; // flavour code of second parton
90 : Int_t fpdf_id1; // LHAPDF set id of first parton
91 : Int_t fpdf_id2; // LHAPDF set id of second parton
92 : Double_t fx1; // fraction of beam momentum carried by first parton ("beam side")
93 : Double_t fx2; // fraction of beam momentum carried by second parton ("target side")
94 : Double_t fscalePDF; // Q-scale used in evaluation of PDF's (in GeV)
95 : Double_t fpdf1; // PDF (id1, x1, Q) - x*f(x)
96 : Double_t fpdf2; // PDF (id2, x2, Q) - x*f(x)
97 :
98 176 : ClassDef(AliGenHepMCEventHeader, 2) // Event header for HepMC event
99 : };
100 :
101 :
102 :
103 : #endif
|