Adding the centroid data and access methods (Chiara)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 May 2008 10:28:24 +0000 (10:28 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 20 May 2008 10:28:24 +0000 (10:28 +0000)
STEER/AliESDZDC.cxx
STEER/AliESDZDC.h
ZDC/AliZDCQADataMakerRec.cxx

index 3d7cd62..63c51c4 100644 (file)
@@ -27,7 +27,7 @@
 
 ClassImp(AliESDZDC)
 
-float fCParCentr(const int n) {return 1.8936-0.7126/(n + 0.7179);}
+Float_t funCParCentr(const Int_t n) {return 1.8936-0.7126/(n + 0.7179);}
 
 //______________________________________________________________________________
 AliESDZDC::AliESDZDC() :
@@ -40,12 +40,15 @@ AliESDZDC::AliESDZDC() :
   fZDCEMEnergy1(0),
   fZDCParticipants(0)
 {
-  for(int i=0; i<5; i++){
+  for(Int_t i=0; i<5; i++){
     fZN1TowerEnergy[i] = fZN2TowerEnergy[i] = 0.;
     fZP1TowerEnergy[i] = fZP2TowerEnergy[i] = 0.;
     fZN1TowerEnergyLR[i] = fZN2TowerEnergyLR[i] = 0.;
     fZP1TowerEnergyLR[i] = fZP2TowerEnergyLR[i] = 0.;
   }
+  for(Int_t i=0; i<2; i++){
+    fZNACentrCoord[i] = fZNCCentrCoord[i] = 0.;
+  }
 }
 
 AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
@@ -59,7 +62,7 @@ AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
   fZDCParticipants(zdc.fZDCParticipants)
 {
   // copy constructor
-  for(int i=0; i<5; i++){
+  for(Int_t i=0; i<5; i++){
      fZN1TowerEnergy[i] = zdc.fZN1TowerEnergy[i];
      fZN2TowerEnergy[i] = zdc.fZN2TowerEnergy[i];
      fZP1TowerEnergy[i] = zdc.fZP1TowerEnergy[i];
@@ -69,6 +72,10 @@ AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
      fZP1TowerEnergyLR[i] = zdc.fZP1TowerEnergyLR[i];
      fZP2TowerEnergyLR[i] = zdc.fZP2TowerEnergyLR[i];
   }
+  for(Int_t i=0; i<2; i++){
+    fZNACentrCoord[i] = zdc.fZNACentrCoord[i];
+    fZNCCentrCoord[i] = zdc.fZNCCentrCoord[i];
+  }
 }
 
 AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
@@ -93,6 +100,10 @@ AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
        fZP1TowerEnergyLR[i] = zdc.fZP1TowerEnergyLR[i];
        fZP2TowerEnergyLR[i] = zdc.fZP2TowerEnergyLR[i];
     }
+    for(Int_t i=0; i<2; i++){
+         fZNACentrCoord[i] = zdc.fZNACentrCoord[i];
+         fZNCCentrCoord[i] = zdc.fZNCCentrCoord[i];
+    }
   } 
   return *this;
 }
@@ -122,12 +133,15 @@ void AliESDZDC::Reset()
   fZDCParticipants=0;  
   fZDCEMEnergy=0;
   fZDCEMEnergy1=0;
-  for(int i=0; i<5; i++){
+  for(Int_t i=0; i<5; i++){
     fZN1TowerEnergy[i] = fZN2TowerEnergy[i] = 0.;
     fZP1TowerEnergy[i] = fZP2TowerEnergy[i] = 0.;
     fZN1TowerEnergyLR[i] = fZN2TowerEnergyLR[i] = 0.;
     fZP1TowerEnergyLR[i] = fZP2TowerEnergyLR[i] = 0.;
   }
+  for(Int_t i=0; i<2; i++){
+       fZNACentrCoord[i] = fZNCCentrCoord[i] = 0.;
+  }
 }
 
 //______________________________________________________________________________
@@ -140,10 +154,9 @@ void AliESDZDC::Print(const Option_t *) const
 }
 
 //______________________________________________________________________________
-const Float_t * AliESDZDC::GetZNCCentroid(int NspecnC) const
+Double32_t * AliESDZDC::GetZNCCentroid(Int_t NspecnC) 
 {
   // Provide coordinates of centroid over ZN (side C) front face
-  Float_t CentrCoord[2];
   Float_t x[4] = {-1.75, 1.75, -1.75, 1.75};
   Float_t y[4] = {-1.75, -1.72, 1.75, 1.75};
   Float_t NumX=0., NumY=0., Den=0.;
@@ -155,17 +168,16 @@ const Float_t * AliESDZDC::GetZNCCentroid(int NspecnC) const
     Den += w;
   }
   if(Den!=0){
-    CentrCoord[0] = fCParCentr(NspecnC)*NumX/Den;
-    CentrCoord[1] = fCParCentr(NspecnC)*NumY/Den;
+    fZNCCentrCoord[0] = funCParCentr(NspecnC)*NumX/Den;
+    fZNCCentrCoord[1] = funCParCentr(NspecnC)*NumY/Den;
   }
-  return CentrCoord;
+  return fZNCCentrCoord;
 }
 
 //______________________________________________________________________________
-const Float_t * AliESDZDC::GetZNACentroid(int NspecnA) const
+Double32_t * AliESDZDC::GetZNACentroid(Int_t NspecnA) 
 {
   // Provide coordinates of centroid over ZN (side A) front face
-  Float_t CentrCoord[2];
   Float_t x[4] = {-1.75, 1.75, -1.75, 1.75};
   Float_t y[4] = {-1.75, -1.72, 1.75, 1.75};
   Float_t NumX=0., NumY=0., Den=0.;
@@ -178,8 +190,8 @@ const Float_t * AliESDZDC::GetZNACentroid(int NspecnA) const
   }
   //
   if(Den!=0){
-    CentrCoord[0] = fCParCentr(NspecnA)*NumX/Den;
-    CentrCoord[1] = fCParCentr(NspecnA)*NumY/Den;
+    fZNACentrCoord[0] = funCParCentr(NspecnA)*NumX/Den;
+    fZNACentrCoord[1] = funCParCentr(NspecnA)*NumY/Den;
   }
-  return CentrCoord;
+  return fZNACentrCoord;
 }
index b52d21d..ecf754e 100644 (file)
@@ -27,7 +27,8 @@ public:
   Double_t GetZDCN2Energy() const {return fZDCN2Energy;}
   Double_t GetZDCP2Energy() const {return fZDCP2Energy;}
   Double_t GetZDCEMEnergy(Int_t i) const 
-          {if(i==0){return fZDCEMEnergy;}else if(i==1){return fZDCEMEnergy1;}return 0;}
+          {if(i==0){return fZDCEMEnergy;} else if(i==1){return fZDCEMEnergy1;}
+          return 0;}
   Short_t  GetZDCParticipants() const {return fZDCParticipants;}
   const Double_t * GetZN1TowerEnergy() const {return fZN1TowerEnergy;}
   const Double_t * GetZN2TowerEnergy() const {return fZN2TowerEnergy;}
@@ -38,13 +39,16 @@ public:
   const Double_t * GetZP1TowerEnergyLR() const {return fZP1TowerEnergyLR;}
   const Double_t * GetZP2TowerEnergyLR() const {return fZP2TowerEnergyLR;}
   //
-  const Float_t * GetZNCCentroid(int NspecnC) const;
-  const Float_t * GetZNACentroid(int NspecnA) const;
+  Double32_t * GetZNCCentroid(int NspecnC);
+  Double32_t * GetZNACentroid(int NspecnA);
+  //
+  void  SetZDC(Double_t n1Energy, Double_t p1Energy, 
+               Double_t emEnergy0, Double_t emEnergy1,
+               Double_t n2Energy, Double_t p2Energy, Short_t participants) 
+       {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; 
+       fZDCEMEnergy=emEnergy0; fZDCEMEnergy1=emEnergy1;
+       fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; fZDCParticipants=participants;}
   //
-  void  SetZDC(Double_t n1Energy, Double_t p1Energy, Double_t emEnergy0, Double_t emEnergy1,
-              Double_t n2Energy, Double_t p2Energy, Short_t participants) 
-   {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; fZDCEMEnergy=emEnergy0; fZDCEMEnergy1=emEnergy1;
-    fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; fZDCParticipants=participants;}
   void  SetZN1TowerEnergy(Float_t tow1[5])
           {for(Int_t i=0; i<5; i++) fZN1TowerEnergy[i] = tow1[i];}
   void  SetZN2TowerEnergy(Float_t tow2[5])
@@ -61,6 +65,10 @@ public:
           {for(Int_t i=0; i<5; i++) fZP1TowerEnergyLR[i] = tow1[i];}
   void  SetZP2TowerEnergyLR(Float_t tow2[5])
           {for(Int_t i=0; i<5; i++) fZP2TowerEnergyLR[i] = tow2[i];}
+  void  SetZNACentroid(Float_t centrCoord[2])
+          {for(Int_t i=0; i<2; i++) fZNACentrCoord[i] = centrCoord[i];}
+  void  SetZNCCentroid(Float_t centrCoord[2])
+          {for(Int_t i=0; i<2; i++) fZNCCentrCoord[i] = centrCoord[i];}
 
   void    Reset();
   void    Print(const Option_t *opt=0) const;
@@ -81,8 +89,11 @@ private:
   Double32_t   fZN2TowerEnergyLR[5];// reco E in 5 ZN2 sectors - low gain chain
   Double32_t   fZP1TowerEnergyLR[5];// reco E in 5 ZP1 sectors - low gain chain
   Double32_t   fZP2TowerEnergyLR[5];// reco E in 5 ZP2 sectors - low gain chain
-  Short_t      fZDCParticipants;  // number of participants estimated by the ZDC
-  ClassDef(AliESDZDC,7)
+  Short_t      fZDCParticipants;// number of participants estimated by the ZDC
+  Double32_t   fZNACentrCoord[2];// Coordinates of the centroid over ZNC
+  Double32_t   fZNCCentrCoord[2];// Coordinates of the centroid over ZNA
+  //
+  ClassDef(AliESDZDC,8)
 };
 
 #endif
index d8a3d29..c382175 100644 (file)
@@ -280,7 +280,7 @@ void AliZDCQADataMakerRec::MakeESDs(AliESDEvent * esd)
   //
   AliESDZDC * zdcESD =  esd->GetESDZDC();
   //
-  const Float_t * Centr_ZNC, * Centr_ZNA;
+  Double32_t * Centr_ZNC, * Centr_ZNA;
   Int_t NSpecnC = (Int_t) (esd->GetZDCN1Energy()/2.7);
   if(NSpecnC!=0){
     Centr_ZNC = zdcESD->GetZNCCentroid(NSpecnC);