Added V0A23 (V0 rings 2-3), V0C01 (V0 rings 0-1) and V0S = V0A23+V0C01
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliGenHepMCEventHeader.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 #include "AliGenHepMCEventHeader.h"
19 ClassImp(AliGenHepMCEventHeader)
20
21
22 AliGenHepMCEventHeader::AliGenHepMCEventHeader():
23    fNcoll_hard(0),
24    fNpart_proj(0),
25    fNpart_targ(0),
26    fNcoll(0),
27    fspectator_neutrons(0),
28    fspectator_protons(0),
29    fN_Nwounded_collisions(0),
30    fNwounded_N_collisions(0),
31    fNwounded_Nwounded_collisions(0),
32    fimpact_parameter(0.0),
33    fevent_plane_angle(0.0),
34    feccentricity(0.0),
35    fsigma_inel_NN(0.0),
36    fid1(0),
37    fid2(0),
38    fpdf_id1(0),
39    fpdf_id2(0),
40    fx1(0.0),
41    fx2(0.0),
42    fscalePDF(0.0),
43    fpdf1(0.0),
44    fpdf2(0.0)
45 {
46    // Default Constructor
47 }
48
49 AliGenHepMCEventHeader::AliGenHepMCEventHeader(const char* name):
50    AliGenEventHeader(name),
51    fNcoll_hard(0),
52    fNpart_proj(0),
53    fNpart_targ(0),
54    fNcoll(0),
55    fspectator_neutrons(0),
56    fspectator_protons(0),
57    fN_Nwounded_collisions(0),
58    fNwounded_N_collisions(0),
59    fNwounded_Nwounded_collisions(0),
60    fimpact_parameter(0.0),
61    fevent_plane_angle(0.0),
62    feccentricity(0.0),
63    fsigma_inel_NN(0.0),
64    fid1(0),
65    fid2(0),
66    fpdf_id1(0),
67    fpdf_id2(0),
68    fx1(0.0),
69    fx2(0.0),
70    fscalePDF(0.0),
71    fpdf1(0.0),
72    fpdf2(0.0)
73 {
74    // Constructor
75 }
76
77 AliGenHepMCEventHeader::AliGenHepMCEventHeader(
78       Int_t    var_Ncoll_hard,                    // Number of hard scatterings
79       Int_t    var_Npart_proj,                    // Number of projectile participants
80       Int_t    var_Npart_targ,                    // Number of target participants
81       Int_t    var_Ncoll,                         // Number of NN (nucleon-nucleon) collisions
82       Int_t    var_spectator_neutrons,            // Number of spectator neutrons
83       Int_t    var_spectator_protons,             // Number of spectator protons
84       Int_t    var_N_Nwounded_collisions,         // Number of N-Nwounded collisions
85       Int_t    var_Nwounded_N_collisions,         // Number of Nwounded-N collisons
86       Int_t    var_Nwounded_Nwounded_collisions,  // Number of Nwounded-Nwounded collisions
87       Float_t  var_impact_parameter,              // Impact Parameter(in fm) of collision
88       Float_t  var_event_plane_angle,             // Azimuthal angle of event plane
89       Float_t  var_eccentricity,                  // eccentricity of participating nucleons in the transverse plane (as in phobos nucl-ex/0510031)
90       Float_t  var_sigma_inel_NN,                 // nucleon-nucleon inelastic (including diffractive) cross-section
91       Int_t    var_id1,        // flavour code of first parton
92       Int_t    var_id2,        // flavour code of second parton
93       Int_t    var_pdf_id1,    // LHAPDF set id of first parton
94       Int_t    var_pdf_id2,    // LHAPDF set id of second parton
95       Double_t var_x1,         // fraction of beam momentum carried by first parton ("beam side")
96       Double_t var_x2,         // fraction of beam momentum carried by second parton ("target side")
97       Double_t var_scalePDF,   // Q-scale used in evaluation of PDF's   (in GeV)
98       Double_t var_pdf1,       // PDF (id1, x1, Q) - x*f(x)
99       Double_t var_pdf2        // PDF (id2, x2, Q) - x*f(x)
100 ):
101    fNcoll_hard(var_Ncoll_hard),
102    fNpart_proj(var_Npart_proj),
103    fNpart_targ(var_Npart_targ),
104    fNcoll(var_Ncoll),
105    fspectator_neutrons(var_spectator_neutrons),
106    fspectator_protons(var_spectator_protons),
107    fN_Nwounded_collisions(var_N_Nwounded_collisions),
108    fNwounded_N_collisions(var_Nwounded_N_collisions),
109    fNwounded_Nwounded_collisions(var_Nwounded_Nwounded_collisions),
110    fimpact_parameter(var_impact_parameter),
111    fevent_plane_angle(var_event_plane_angle),
112    feccentricity(var_eccentricity),
113    fsigma_inel_NN(var_sigma_inel_NN),
114    fid1(var_id1),
115    fid2(var_id2),
116    fpdf_id1(var_pdf_id1),
117    fpdf_id2(var_pdf_id2),
118    fx1(var_x1),
119    fx2(var_x2),
120    fscalePDF(var_scalePDF),
121    fpdf1(var_pdf1),
122    fpdf2(var_pdf2)
123 {
124    // The Constructor
125 }
126
127 Bool_t AliGenHepMCEventHeader::HeavyIonInfoValid() {
128    return fNcoll_hard != 0 ||
129          fNpart_proj != 0 ||
130          fNpart_targ != 0 ||
131          fNcoll != 0 ||
132          fspectator_neutrons != 0 ||
133          fspectator_protons != 0 ||
134          fN_Nwounded_collisions != 0 ||
135          fNwounded_N_collisions != 0 ||
136          fNwounded_Nwounded_collisions != 0 ||
137          fimpact_parameter != 0.0 ||
138          fevent_plane_angle != 0.0 ||
139          feccentricity != 0.0 ||
140          fsigma_inel_NN != 0.0;
141 }
142
143 Bool_t AliGenHepMCEventHeader::PDFValid() {
144    return fid1 != 0 ||
145          fid2 != 0 ||
146          fpdf_id1 != 0 ||
147          fpdf_id2 != 0 ||
148          fx1 != 0.0 ||
149          fx2 != 0.0 ||
150          fscalePDF != 0.0 ||
151          fpdf1 != 0.0 ||
152          fpdf2 != 0.0;
153 }