Adding low resolution channels to reco object
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2007 12:14:48 +0000 (12:14 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 6 Nov 2007 12:14:48 +0000 (12:14 +0000)
ZDC/AliZDCReco.cxx
ZDC/AliZDCReco.h
ZDC/AliZDCReconstructor.cxx

index f922c4f..009ebf5 100644 (file)
@@ -37,11 +37,6 @@ AliZDCReco::AliZDCReco() :
   fZN2Energy(0),
   fZP2Energy(0),
   //
-//  fZN1EnTow(0x0),
-//  fZP1EnTow(0x0),
-//  fZN2EnTow(0x0),
-//  fZP2EnTow(0x0),
-  //
   fZEMsignal(0),
   //
   fNDetSpecNLeft(0),
@@ -62,6 +57,17 @@ AliZDCReco::AliZDCReco() :
   //
   // Default constructor
   //
+  for(Int_t i=0; i<5; i++){
+     fZN1EnTow[i] = 0;
+     fZP1EnTow[i] = 0;
+     fZN2EnTow[i] = 0;
+     fZP2EnTow[i] = 0;
+     fZN1SigLowRes[i] = 0;
+     fZP1SigLowRes[i] = 0;
+     fZN2SigLowRes[i] = 0;
+     fZP2SigLowRes[i] = 0;
+     
+  }
 }
   
 
@@ -70,6 +76,8 @@ AliZDCReco::AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezn2, Float_t ezp2,
             //
             Float_t* ezn1tow, Float_t* ezp1tow,
             Float_t* ezn2tow, Float_t* ezp2tow, 
+            Float_t* ezn1siglr, Float_t* ezp1siglr,
+            Float_t* ezn2siglr, Float_t* ezp2siglr,
             Float_t ezem, 
             //    
             Int_t detspnLeft,  Int_t detsppLeft, Int_t detspnRight,
@@ -109,6 +117,10 @@ AliZDCReco::AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezn2, Float_t ezp2,
      fZP1EnTow[j] =  ezp1tow[j];
      fZN2EnTow[j] =  ezn2tow[j];
      fZP2EnTow[j] =  ezp2tow[j];
+     fZN1SigLowRes[j] = ezn1siglr[j];
+     fZP1SigLowRes[j] = ezp1siglr[j];
+     fZN2SigLowRes[j] = ezn2siglr[j];
+     fZP2SigLowRes[j] = ezp2siglr[j];
   }
   
 }
@@ -130,6 +142,10 @@ AliZDCReco::AliZDCReco(const AliZDCReco &oldreco) :
      fZP1EnTow[i]  = oldreco.GetZP1EnTow(i);
      fZN2EnTow[i]  = oldreco.GetZN2EnTow(i);
      fZP2EnTow[i]  = oldreco.GetZP2EnTow(i);
+     fZN1SigLowRes[i] = oldreco.GetZN1SigLowRes(i);
+     fZP1SigLowRes[i] = oldreco.GetZP1SigLowRes(i);
+     fZN2SigLowRes[i] = oldreco.GetZN2SigLowRes(i);
+     fZP2SigLowRes[i] = oldreco.GetZP2SigLowRes(i);
   }
   //
   fZEMsignal = oldreco.GetZEMsignal(); 
index a8fd8b2..6ae5393 100644 (file)
@@ -16,6 +16,8 @@ public:
   AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezn2, Float_t ezp2,  
             Float_t* ezn1tow, Float_t* ezp1tow,
             Float_t* ezn2tow, Float_t* ezp2tow, 
+            Float_t* ezn1siglr, Float_t* ezp1siglr,
+            Float_t* ezn2siglr, Float_t* ezp2siglr,
             Float_t ezem, 
             //    
             Int_t detspnLeft,  Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,  
@@ -38,6 +40,11 @@ public:
   virtual Float_t GetZN2EnTow(Int_t tow)  const {return fZN2EnTow[tow];}
   virtual Float_t GetZP2EnTow(Int_t tow)  const {return fZP2EnTow[tow];}
   //
+  virtual Float_t GetZN1SigLowRes(Int_t tow)  const {return fZN1SigLowRes[tow];}
+  virtual Float_t GetZP1SigLowRes(Int_t tow)  const {return fZP1SigLowRes[tow];}
+  virtual Float_t GetZN2SigLowRes(Int_t tow)  const {return fZN2SigLowRes[tow];}
+  virtual Float_t GetZP2SigLowRes(Int_t tow)  const {return fZP2SigLowRes[tow];}
+  //
   virtual Float_t GetZEMsignal()   const  {return fZEMsignal;}
   //
   virtual Int_t   GetNDetSpecNLeft()   const {return fNDetSpecNLeft;}
@@ -69,6 +76,11 @@ private:
   Float_t fZN2EnTow[5];        // Energy in ZN2 towers
   Float_t fZP2EnTow[5]; // Energy in ZP2 towers
   //
+  Float_t fZN1SigLowRes[5]; // Energy in ZN1 towers - low res ch.
+  Float_t fZP1SigLowRes[5]; // Energy in ZP1 towers - low res ch.
+  Float_t fZN2SigLowRes[5]; // Energy in ZN2 towers - low res ch.
+  Float_t fZP2SigLowRes[5]; // Energy in ZP2 towers - low res ch.
+  //
   Float_t fZEMsignal;  // Signal in EM ZDC
   //
   Int_t          fNDetSpecNLeft;  // Number of spectator neutrons detected
@@ -86,7 +98,7 @@ private:
   Float_t fImpPar;     // Estimate of the impact parameter
 
 
-  ClassDef(AliZDCReco,2)  // RecPoints for the Zero Degree Calorimeters
+  ClassDef(AliZDCReco,3)  // RecPoints for the Zero Degree Calorimeters
 };
  
 #endif
index 61fd791..68f419a 100644 (file)
@@ -317,6 +317,7 @@ void AliZDCReconstructor::ReconstructEvent(TTree *clustersTree,
   // *** RECONSTRUCTION FROM "REAL" DATA
   //
   // Retrieving calibration data
+  // --- Equalization coefficients ---------------------------------------------
   Float_t equalCoeffZN1[5], equalCoeffZP1[5], equalCoeffZN2[5], equalCoeffZP2[5];
   for(Int_t ji=0; ji<5; ji++){
      equalCoeffZN1[ji] = fCalibData->GetZN1EqualCoeff(ji);
@@ -324,10 +325,11 @@ void AliZDCReconstructor::ReconstructEvent(TTree *clustersTree,
      equalCoeffZN2[ji] = fCalibData->GetZN2EqualCoeff(ji); 
      equalCoeffZP2[ji] = fCalibData->GetZP2EqualCoeff(ji); 
   }
-  //
+  // --- Energy calibration factors ------------------------------------
   Float_t calibEne[4];
   for(Int_t ij=0; ij<4; ij++) calibEne[ij] = fCalibData->GetEnCalib(ij);
   //
+  // --- Reconstruction parameters ------------------
   Float_t endPointZEM = fCalibData->GetZEMEndValue();
   Float_t cutFractionZEM = fCalibData->GetZEMCutFraction();
   Float_t dZEMSup = fCalibData->GetDZEMSup();
@@ -501,6 +503,7 @@ void AliZDCReconstructor::ReconstructEvent(TTree *clustersTree,
   // create the output tree
   AliZDCReco reco(calibSumZN1HG, calibSumZP1HG, calibSumZN2HG, calibSumZP2HG, 
                  calibTowZN1LG, calibTowZN2LG, calibTowZP1LG, calibTowZP2LG, 
+                 calibTowZN1LG, calibTowZP1LG, calibTowZN2LG, calibTowZP2LG,
                  corrADCZEMHG, 
                  nDetSpecNLeft, nDetSpecPLeft, nDetSpecNRight, nDetSpecPRight, 
                  nGenSpecNLeft, nGenSpecPLeft, nGenSpecLeft, nGenSpecNRight, 
@@ -525,26 +528,23 @@ void AliZDCReconstructor::FillZDCintoESD(TTree *clustersTree, AliESDEvent* esd)
   clustersTree->SetBranchAddress("ZDC", &preco);
 
   clustersTree->GetEntry(0);
+  //
+  esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
+             reco.GetZN2Energy(), reco.GetZP2Energy(), 
+             reco.GetNPartLeft());
+  //
+  //
   /*Double_t tZN1Ene[4], tZN2Ene[4];
   for(Int_t i=0; i<4; i++){
      tZN1Ene[i] = reco.GetZN1EnTow(i);
      tZN2Ene[i] = reco.GetZN2EnTow(i);
   }
+  esd->SetZN1TowerEnergy(tZN1Ene);
+  esd->SetZN2TowerEnergy(tZN2Ene);
   esd->SetZDC(tZN1Ene, tZN2Ene, reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
              reco.GetZN2Energy(), reco.GetZP2Energy(), 
              reco.GetNPartLeft());
   */
-  esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
-             reco.GetZN2Energy(), reco.GetZP2Energy(), 
-             reco.GetNPartLeft());
-  
-  /*Double_t tZN1Ene[4], tZN2Ene[4];
-  for(Int_t i=0; i<4; i++){
-     tZN1Ene[i] = reco.GetZN1EnTow(i);
-     tZN2Ene[i] = reco.GetZN2EnTow(i);
-  }*/
-  //esd->SetZN1TowerEnergy(tZN1Ene);
-  //esd->SetZN2TowerEnergy(tZN2Ene);
   
 }