ZDC information from A-side (Chiara)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 Oct 2008 07:52:43 +0000 (07:52 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 Oct 2008 07:52:43 +0000 (07:52 +0000)
STEER/AliESDEvent.cxx
STEER/AliESDEvent.h
STEER/AliESDTagCreator.cxx
STEER/AliESDZDC.cxx
STEER/AliESDZDC.h
STEER/AliEventTag.h
ZDC/AliZDCQADataMakerRec.cxx
ZDC/AliZDCReconstructor.cxx

index 1d6d306..01e9978 100644 (file)
@@ -1341,7 +1341,8 @@ void AliESDEvent::CopyFromOldESD()
            0,
            fESDOld->GetZDCN2Energy(),
            fESDOld->GetZDCP2Energy(),
-           fESDOld->GetZDCParticipants());
+           fESDOld->GetZDCParticipants(),
+          0);
 
     // FMD
     
index 9069ca5..7c197ad 100644 (file)
@@ -146,9 +146,12 @@ public:
   Double_t GetZDCP2Energy() const {return fESDZDC->GetZDCP2Energy();}
   Double_t GetZDCEMEnergy(Int_t i=0) const {return fESDZDC->GetZDCEMEnergy(i);}
   Int_t   GetZDCParticipants() const {return fESDZDC->GetZDCParticipants();}
+  Int_t   GetZDCParticipants2() const {return fESDZDC->GetZDCParticipants2();}
   void    SetZDC(Float_t n1Energy, Float_t p1Energy, Float_t em1Energy, Float_t em2Energy,
-                 Float_t n2Energy, Float_t p2Energy, Int_t participants)
-  {fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, participants);}
+                 Float_t n2Energy, Float_t p2Energy, 
+                Int_t participants, Int_t participants2)
+  {fESDZDC->SetZDC(n1Energy, p1Energy, em1Energy, em2Energy, n2Energy, p2Energy, 
+   participants, participants2);}
 
 
   // FMD
index 23c04c7..2734df0 100644 (file)
@@ -452,6 +452,8 @@ void AliESDTagCreator::CreateTag(TChain* chain, const char *type) {
     evTag->SetZDCNeutron1Energy(esd->GetZDCN2Energy());
     evTag->SetZDCProton1Energy(esd->GetZDCP2Energy());
     evTag->SetNumOfParticipants(esd->GetZDCParticipants());
+    evTag->SetNumOfParticipants(esd->GetZDCParticipants());
+    evTag->SetNumOfParticipants2(esd->GetZDCParticipants2());
     
     
     evTag->SetNumOfTracks(esd->GetNumberOfTracks());
index 63c51c4..030d4ab 100644 (file)
@@ -27,7 +27,7 @@
 
 ClassImp(AliESDZDC)
 
-Float_t funCParCentr(const Int_t 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() :
@@ -38,7 +38,8 @@ AliESDZDC::AliESDZDC() :
   fZDCP2Energy(0),
   fZDCEMEnergy(0),
   fZDCEMEnergy1(0),
-  fZDCParticipants(0)
+  fZDCParticipants(0),
+  fZDCParticipants2(0)
 {
   for(Int_t i=0; i<5; i++){
     fZN1TowerEnergy[i] = fZN2TowerEnergy[i] = 0.;
@@ -51,6 +52,7 @@ AliESDZDC::AliESDZDC() :
   }
 }
 
+//______________________________________________________________________________
 AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
   TObject(zdc),
   fZDCN1Energy(zdc.fZDCN1Energy),
@@ -59,7 +61,8 @@ AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
   fZDCP2Energy(zdc.fZDCP2Energy),
   fZDCEMEnergy(zdc.fZDCEMEnergy),
   fZDCEMEnergy1(zdc.fZDCEMEnergy1),
-  fZDCParticipants(zdc.fZDCParticipants)
+  fZDCParticipants(zdc.fZDCParticipants),
+  fZDCParticipants2(zdc.fZDCParticipants2)
 {
   // copy constructor
   for(Int_t i=0; i<5; i++){
@@ -78,6 +81,7 @@ AliESDZDC::AliESDZDC(const AliESDZDC& zdc) :
   }
 }
 
+//______________________________________________________________________________
 AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
 {
   // assigment operator
@@ -88,6 +92,7 @@ AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
     fZDCN2Energy = zdc.fZDCN2Energy;
     fZDCP2Energy = zdc.fZDCP2Energy;
     fZDCParticipants = zdc.fZDCParticipants;
+    fZDCParticipants2 = zdc.fZDCParticipants2;
     fZDCEMEnergy = zdc.fZDCEMEnergy;
     fZDCEMEnergy1 = zdc.fZDCEMEnergy1;
     for(Int_t i=0; i<5; i++){
@@ -108,6 +113,7 @@ AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc)
   return *this;
 }
 
+//______________________________________________________________________________
 void AliESDZDC::Copy(TObject &obj) const {
   
   // this overwrites the virtual TOBject::Copy()
@@ -131,6 +137,7 @@ void AliESDZDC::Reset()
   fZDCN2Energy=0;
   fZDCP2Energy=0;
   fZDCParticipants=0;  
+  fZDCParticipants2=0;  
   fZDCEMEnergy=0;
   fZDCEMEnergy1=0;
   for(Int_t i=0; i<5; i++){
@@ -149,49 +156,49 @@ void AliESDZDC::Print(const Option_t *) const
 {
   //  Print ESD for the ZDC
   printf("\n \t ZN1Energy = %f TeV, ZP1Energy = %f TeV, ZN2Energy = %f TeV,"
-  " ZP2Energy = %f, Nparticipants = %d\n",
-  fZDCN1Energy,fZDCP1Energy,fZDCN2Energy,fZDCP2Energy,fZDCParticipants);
+  " ZP2Energy = %f, Npart side C = %d, Npart side A = %d\n",
+  fZDCN1Energy,fZDCP1Energy,fZDCN2Energy,fZDCP2Energy,fZDCParticipants,fZDCParticipants2);
 }
 
 //______________________________________________________________________________
-Double32_t * AliESDZDC::GetZNCCentroid(Int_t NspecnC) 
+Double32_t * AliESDZDC::GetZNCCentroid() 
 {
   // Provide coordinates of centroid over ZN (side C) front face
   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.;
   Float_t alpha=0.395, w;
-  for(Int_t i=1; i<5; i++){
-    w = TMath::Power(fZN1TowerEnergy[i], alpha);
+  for(Int_t i=0; i<4; i++){
+    w = TMath::Power(fZN1TowerEnergy[i+1], alpha);
     NumX += x[i]*w;
     NumY += y[i]*w;
     Den += w;
   }
   if(Den!=0){
-    fZNCCentrCoord[0] = funCParCentr(NspecnC)*NumX/Den;
-    fZNCCentrCoord[1] = funCParCentr(NspecnC)*NumY/Den;
+    fZNCCentrCoord[0] = 1.8665*NumX/Den;
+    fZNCCentrCoord[1] = 1.8665*NumY/Den;
   }
   return fZNCCentrCoord;
 }
 
 //______________________________________________________________________________
-Double32_t * AliESDZDC::GetZNACentroid(Int_t NspecnA) 
+Double32_t * AliESDZDC::GetZNACentroid() 
 {
   // Provide coordinates of centroid over ZN (side A) front face
   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.;
   Float_t alpha=0.395, w;
-  for(Int_t i=1; i<5; i++){
-    w = TMath::Power(fZN2TowerEnergy[i], alpha);
+  for(Int_t i=0; i<4; i++){
+    w = TMath::Power(fZN2TowerEnergy[i+1], alpha);
     NumX += x[i]*w;
     NumY += y[i]*w;
     Den += w;
   }
   //
   if(Den!=0){
-    fZNACentrCoord[0] = funCParCentr(NspecnA)*NumX/Den;
-    fZNACentrCoord[1] = funCParCentr(NspecnA)*NumY/Den;
+    fZNACentrCoord[0] = 1.8665*NumX/Den;
+    fZNACentrCoord[1] = 1.8665*NumY/Den;
   }
   return fZNACentrCoord;
 }
index ecf754e..95e2293 100644 (file)
@@ -30,6 +30,7 @@ public:
           {if(i==0){return fZDCEMEnergy;} else if(i==1){return fZDCEMEnergy1;}
           return 0;}
   Short_t  GetZDCParticipants() const {return fZDCParticipants;}
+  Short_t  GetZDCParticipants2() const {return fZDCParticipants2;}
   const Double_t * GetZN1TowerEnergy() const {return fZN1TowerEnergy;}
   const Double_t * GetZN2TowerEnergy() const {return fZN2TowerEnergy;}
   const Double_t * GetZP1TowerEnergy() const {return fZP1TowerEnergy;}
@@ -39,15 +40,17 @@ public:
   const Double_t * GetZP1TowerEnergyLR() const {return fZP1TowerEnergyLR;}
   const Double_t * GetZP2TowerEnergyLR() const {return fZP2TowerEnergyLR;}
   //
-  Double32_t * GetZNCCentroid(int NspecnC);
-  Double32_t * GetZNACentroid(int NspecnA);
+  Double32_t * GetZNCCentroid();
+  Double32_t * GetZNACentroid();
   //
   void  SetZDC(Double_t n1Energy, Double_t p1Energy, 
                Double_t emEnergy0, Double_t emEnergy1,
-               Double_t n2Energy, Double_t p2Energy, Short_t participants) 
+               Double_t n2Energy, Double_t p2Energy, 
+               Short_t participants, Short_t participants2) 
        {fZDCN1Energy=n1Energy; fZDCP1Energy=p1Energy; 
        fZDCEMEnergy=emEnergy0; fZDCEMEnergy1=emEnergy1;
-       fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; fZDCParticipants=participants;}
+       fZDCN2Energy=n2Energy; fZDCP2Energy=p2Energy; 
+       fZDCParticipants=participants; fZDCParticipants2=participants2;}
   //
   void  SetZN1TowerEnergy(Float_t tow1[5])
           {for(Int_t i=0; i<5; i++) fZN1TowerEnergy[i] = tow1[i];}
@@ -89,11 +92,12 @@ 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
+  Short_t      fZDCParticipants;// number of participants estimated by the ZDC - side C
+  Short_t      fZDCParticipants2;// number of participants estimated by the ZDC - side A
   Double32_t   fZNACentrCoord[2];// Coordinates of the centroid over ZNC
   Double32_t   fZNCCentrCoord[2];// Coordinates of the centroid over ZNA
   //
-  ClassDef(AliESDZDC,8)
+  ClassDef(AliESDZDC,9)
 };
 
 #endif
index 60c7c0a..54cc73d 100644 (file)
@@ -33,6 +33,7 @@ class AliEventTag : public TObject {
   void SetTURL(TString Pid) {fturl = Pid;}
   void SetSize(Long64_t i) {fsize = i;}
   void SetNumOfParticipants(Int_t P) {fNumberOfParticipants = P;}
+  void SetNumOfParticipants2(Int_t P2) {fNumberOfParticipants = P2;}
   void SetImpactParameter(Float_t Pimpact) {fImpactParameter = Pimpact;}
   void SetVertexX(Float_t Pvx) {fPrimaryVertexX = Pvx;}
   void SetVertexY(Float_t Pvy) {fPrimaryVertexY = Pvy;}
@@ -99,6 +100,7 @@ class AliEventTag : public TObject {
   const char *GetTURL() const {return fturl.Data();}
   Long64_t    GetSize() const {return fsize;}
   Int_t       GetNumOfParticipants() const {return fNumberOfParticipants;}
+  Int_t       GetNumOfParticipants2() const {return fNumberOfParticipants2;}
   Float_t     GetImpactParameter() const {return fImpactParameter;}
   Float_t     GetVertexX() const {return fPrimaryVertexX;}
   Float_t     GetVertexY() const {return fPrimaryVertexY;}
@@ -164,7 +166,8 @@ class AliEventTag : public TObject {
   Long64_t  fsize;                          //the size of the file
   TString   fmd5;                           //another file identifier
   TString   fturl;                          //the file's url
-  Int_t     fNumberOfParticipants;         //Number of participants
+  Int_t     fNumberOfParticipants;         //Number of participants - side C
+  Int_t     fNumberOfParticipants2;                //Number of participants - side A
   Float_t   fImpactParameter;              //The impact parameter
   Int_t     fPrimaryVertexFlag;                    //Primary vertex flag: 0->not found, 1->found
   Float_t   fPrimaryVertexX;               //Primary vertex - X coordinate
@@ -222,7 +225,7 @@ class AliEventTag : public TObject {
   Float_t   fEventPlaneAngle;              //event plane info
   Float_t   fHBTRadii;                      //HBT info
   
-  ClassDef(AliEventTag,9)  //(ClassName, ClassVersion)
+  ClassDef(AliEventTag,10)  //(ClassName, ClassVersion)
     };
 //___________________________________________________________________________
 
index d6793dd..9c7625c 100644 (file)
@@ -293,17 +293,12 @@ void AliZDCQADataMakerRec::MakeESDs(AliESDEvent * esd)
   //
   AliESDZDC * zdcESD =  esd->GetESDZDC();
   //
-  Double32_t * centr_ZNC, * centr_ZNA;
-  Int_t NSpecnC = (Int_t) (esd->GetZDCN1Energy()/2.7);
-  if(NSpecnC!=0){
-    centr_ZNC = zdcESD->GetZNCCentroid(NSpecnC);
-    GetESDsData(0)->Fill(centr_ZNC[0], centr_ZNC[1]);
-  }
-  Int_t NSpecnA = (Int_t) (esd->GetZDCN2Energy()/2.7);
-  if(NSpecnA!=0){
-    centr_ZNA = zdcESD->GetZNACentroid(NSpecnA);
-    GetESDsData(1)->Fill(centr_ZNA[0], centr_ZNA[1]);
-  }
+  Double32_t * centr_ZNC = zdcESD->GetZNCCentroid();
+  GetESDsData(0)->Fill(centr_ZNC[0], centr_ZNC[1]);
+
+  Double32_t * centr_ZNA = zdcESD->GetZNACentroid();
+  GetESDsData(1)->Fill(centr_ZNA[0], centr_ZNA[1]);
+
   //
   GetESDsData(2)->Fill(esd->GetZDCN1Energy());
   GetESDsData(3)->Fill(esd->GetZDCN2Energy());
index ccfbeed..0cce57f 100644 (file)
@@ -573,7 +573,7 @@ void AliZDCReconstructor::FillZDCintoESD(TTree *clustersTree, AliESDEvent* esd)
   // 
   esd->SetZDC(reco.GetZN1HREnergy(), reco.GetZP1HREnergy(), reco.GetZEM1HRsignal(), 
              reco.GetZEM2HRsignal(), reco.GetZN2HREnergy(), reco.GetZP2HREnergy(), 
-             reco.GetNPartLeft());
+             reco.GetNPartLeft(),reco.GetNPartRight());
   //
   
 }