1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
17 //-------------------------------------------------------------------------
18 // Implementation of Class AliESDZDC
19 // This is a class that summarizes the ZDC data
21 // Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
22 //-------------------------------------------------------------------------
26 #include "AliESDZDC.h"
30 float fCParCentr(const int n) {return 1.8936-0.7126/(n + 0.7179);}
32 //______________________________________________________________________________
33 AliESDZDC::AliESDZDC() :
43 for(int i=0; i<5; i++){
44 fZN1TowerEnergy[i] = fZN2TowerEnergy[i] = 0.;
45 fZP1TowerEnergy[i] = fZP2TowerEnergy[i] = 0.;
46 fZN1TowerEnergyLR[i] = fZN2TowerEnergyLR[i] = 0.;
47 fZP1TowerEnergyLR[i] = fZP2TowerEnergyLR[i] = 0.;
51 AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
53 fZDCN1Energy(zdc.fZDCN1Energy),
54 fZDCP1Energy(zdc.fZDCP1Energy),
55 fZDCN2Energy(zdc.fZDCN2Energy),
56 fZDCP2Energy(zdc.fZDCP2Energy),
57 fZDCEMEnergy(zdc.fZDCEMEnergy),
58 fZDCEMEnergy1(zdc.fZDCEMEnergy1),
59 fZDCParticipants(zdc.fZDCParticipants)
62 for(int i=0; i<5; i++){
63 fZN1TowerEnergy[i] = zdc.fZN1TowerEnergy[i];
64 fZN2TowerEnergy[i] = zdc.fZN2TowerEnergy[i];
65 fZP1TowerEnergy[i] = zdc.fZP1TowerEnergy[i];
66 fZP2TowerEnergy[i] = zdc.fZP2TowerEnergy[i];
67 fZN1TowerEnergyLR[i] = zdc.fZN1TowerEnergyLR[i];
68 fZN2TowerEnergyLR[i] = zdc.fZN2TowerEnergyLR[i];
69 fZP1TowerEnergyLR[i] = zdc.fZP1TowerEnergyLR[i];
70 fZP2TowerEnergyLR[i] = zdc.fZP2TowerEnergyLR[i];
74 AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
78 TObject::operator=(zdc);
79 fZDCN1Energy = zdc.fZDCN1Energy;
80 fZDCP1Energy = zdc.fZDCP1Energy;
81 fZDCN2Energy = zdc.fZDCN2Energy;
82 fZDCP2Energy = zdc.fZDCP2Energy;
83 fZDCParticipants = zdc.fZDCParticipants;
84 fZDCEMEnergy = zdc.fZDCEMEnergy;
85 fZDCEMEnergy1 = zdc.fZDCEMEnergy1;
86 for(Int_t i=0; i<5; i++){
87 fZN1TowerEnergy[i] = zdc.fZN1TowerEnergy[i];
88 fZN2TowerEnergy[i] = zdc.fZN2TowerEnergy[i];
89 fZP1TowerEnergy[i] = zdc.fZP1TowerEnergy[i];
90 fZP2TowerEnergy[i] = zdc.fZP2TowerEnergy[i];
91 fZN1TowerEnergyLR[i] = zdc.fZN1TowerEnergyLR[i];
92 fZN2TowerEnergyLR[i] = zdc.fZN2TowerEnergyLR[i];
93 fZP1TowerEnergyLR[i] = zdc.fZP1TowerEnergyLR[i];
94 fZP2TowerEnergyLR[i] = zdc.fZP2TowerEnergyLR[i];
101 //______________________________________________________________________________
102 void AliESDZDC::Reset()
104 // reset all data members
112 for(int i=0; i<5; i++){
113 fZN1TowerEnergy[i] = fZN2TowerEnergy[i] = 0.;
114 fZP1TowerEnergy[i] = fZP2TowerEnergy[i] = 0.;
115 fZN1TowerEnergyLR[i] = fZN2TowerEnergyLR[i] = 0.;
116 fZP1TowerEnergyLR[i] = fZP2TowerEnergyLR[i] = 0.;
120 //______________________________________________________________________________
121 void AliESDZDC::Print(const Option_t *) const
123 // Print ESD for the ZDC
124 printf("\n \t ZN1Energy = %f TeV, ZP1Energy = %f TeV, ZN2Energy = %f TeV,"
125 " ZP2Energy = %f, Nparticipants = %d\n",
126 fZDCN1Energy,fZDCP1Energy,fZDCN2Energy,fZDCP2Energy,fZDCParticipants);
129 //______________________________________________________________________________
130 const Float_t * AliESDZDC::GetZNCCentroid(int NspecnC) const
132 // Provide coordinates of centroid over ZN (side C) front face
133 Float_t CentrCoord[2];
134 Float_t x[4] = {-1.75, 1.75, -1.75, 1.75};
135 Float_t y[4] = {-1.75, -1.72, 1.75, 1.75};
136 Float_t NumX=0., NumY=0., Den=0.;
137 Float_t alpha=0.395, w;
138 for(Int_t i=1; i<5; i++){
139 w = TMath::Power(fZN1TowerEnergy[i], alpha);
145 CentrCoord[0] = fCParCentr(NspecnC)*NumX/Den;
146 CentrCoord[1] = fCParCentr(NspecnC)*NumY/Den;
151 //______________________________________________________________________________
152 const Float_t * AliESDZDC::GetZNACentroid(int NspecnA) const
154 // Provide coordinates of centroid over ZN (side A) front face
155 Float_t CentrCoord[2];
156 Float_t x[4] = {-1.75, 1.75, -1.75, 1.75};
157 Float_t y[4] = {-1.75, -1.72, 1.75, 1.75};
158 Float_t NumX=0., NumY=0., Den=0.;
159 Float_t alpha=0.395, w;
160 for(Int_t i=1; i<5; i++){
161 w = TMath::Power(fZN2TowerEnergy[i], alpha);
166 CentrCoord[0] = fCParCentr(NspecnA)*NumX/Den;
167 CentrCoord[1] = fCParCentr(NspecnA)*NumY/Den;