]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCReco.cxx
Propagate correction for ladder swap on layer 3 in SDD macros (F. Prino)
[u/mrichter/AliRoot.git] / ZDC / AliZDCReco.cxx
index f922c4f74a2e8a3aaf9fdb2a3dbf0f10c9e08bf2..9cd6d4cd49fcf0f2ec917500ea9a3646c4d2de14 100644 (file)
@@ -32,121 +32,137 @@ ClassImp(AliZDCReco)
 AliZDCReco::AliZDCReco() :
        
   TObject(),
-  fZN1Energy(0),
-  fZP1Energy(0),
-  fZN2Energy(0),
-  fZP2Energy(0),
   //
-//  fZN1EnTow(0x0),
-//  fZP1EnTow(0x0),
-//  fZN2EnTow(0x0),
-//  fZP2EnTow(0x0),
-  //
-  fZEMsignal(0),
-  //
-  fNDetSpecNLeft(0),
-  fNDetSpecPLeft(0),
-  fNDetSpecNRight(0),
-  fNDetSpecPRight(0),
-  fNTrueSpecNLeft(0),
-  fNTrueSpecPLeft(0),
-  fNTrueSpecLeft(0),
-  fNTrueSpecNRight(0),
-  fNTrueSpecPRight(0),
-  fNTrueSpecRight(0),
-  fNPartLeft(0),
-  fNPartRight(0),
-  fImpPar(0)
+  fNDetSpecNSideA(0),
+  fNDetSpecPSideA(0),
+  fNDetSpecNSideC(0),
+  fNDetSpecPSideC(0),
+  fNTrueSpectators(0),
+  fNTrueSpecSideA(0),
+  fNTrueSpecSideC(0),
+  fNParticipants(0),
+  fNPartSideA(0),
+  fNPartSideC(0),
+  fImpParameter(0),
+  fImpParSideA(0),
+  fImpParSideC(0),
+  fRecoFlag(0x0)
 
 { 
   //
   // Default constructor
   //
+  for(Int_t i=0; i<10; i++){
+     fZN1EnTow[i] = fZP1EnTow[i] = fZN2EnTow[i] = fZP2EnTow[i] = 0.;
+     if(i<2){
+       fZN1Energy[i] = fZP1Energy[i] = fZN2Energy[i] = fZP2Energy[i] =  0.;
+       fZEM1signal[i] = fZEM2signal[i] = 0.;
+       fPMRef1[i] = fPMRef2[i] = 0.;
+     }
+  }
 }
   
 
 //_____________________________________________________________________________
-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 ezem, 
-            //    
-            Int_t detspnLeft,  Int_t detsppLeft, Int_t detspnRight,
-            Int_t detsppRight,  Int_t trspnLeft, Int_t trsppLeft, 
-            Int_t trspLeft, Int_t partLeft, Int_t trspnRight, 
-            Int_t trsppRight, Int_t trspRight, Int_t partRight,  
-            Float_t b) :
+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* ezem1, Float_t* ezem2, Float_t* ref1, Float_t* ref2, 
+     //    
+     Int_t detspnSideA,  Int_t detsppSideA, Int_t detspnSideC, Int_t detsppSideC,  
+     Int_t trsp, Int_t trspSideA,Int_t trspSideC,
+     Int_t npart, Int_t npartSideA, Int_t npartSideC, 
+     Float_t b, Float_t bSideA, Float_t bSideC,
+     UInt_t recoFlag) :
        
   TObject(),
-  fZN1Energy(ezn1),
-  fZP1Energy(ezp1),
-  fZN2Energy(ezn2),
-  fZP2Energy(ezp2),
   //
-  fZEMsignal(ezem),
-  //
-  fNDetSpecNLeft(detspnLeft),
-  fNDetSpecPLeft(detsppLeft),
-  fNDetSpecNRight(detspnRight),
-  fNDetSpecPRight(detsppRight),
-  fNTrueSpecNLeft(trspnLeft),
-  fNTrueSpecPLeft(trsppLeft),
-  fNTrueSpecLeft(trspLeft),
-  fNTrueSpecNRight(trspnRight),
-  fNTrueSpecPRight(trsppRight),
-  fNTrueSpecRight(trspRight),
-  fNPartLeft(partLeft),
-  fNPartRight(partRight),
-  fImpPar(b)
+  fNDetSpecNSideA(detspnSideA),
+  fNDetSpecPSideA(detsppSideA),
+  fNDetSpecNSideC(detspnSideC),
+  fNDetSpecPSideC(detsppSideC),
+  fNTrueSpectators(trsp),
+  fNTrueSpecSideA(trspSideA),
+  fNTrueSpecSideC(trspSideC),
+  fNParticipants(npart),
+  fNPartSideA(npartSideA),
+  fNPartSideC(npartSideC),
+  fImpParameter(b),
+  fImpParSideA(bSideA),
+  fImpParSideC(bSideC),
+  fRecoFlag(recoFlag)
 
 { 
   //
   // Constructor
   //
-  for(Int_t j=0; j<5; j++){
+  for(Int_t j=0; j<10; j++){
      fZN1EnTow[j] =  ezn1tow[j];
      fZP1EnTow[j] =  ezp1tow[j];
      fZN2EnTow[j] =  ezn2tow[j];
      fZP2EnTow[j] =  ezp2tow[j];
+     if(j<2){
+       fZN1Energy[j] = ezn1[j];
+       fZP1Energy[j] = ezp1[j];
+       fZN2Energy[j] = ezn2[j];
+       fZP2Energy[j] = ezp2[j];
+       fZEM1signal[j] = ezem1[j];
+       fZEM2signal[j] = ezem2[j];
+       fPMRef1[j] = ref1[j];
+       fPMRef2[j] = ref2[j];
+     }
   }
   
 }
 
 //______________________________________________________________________________
 AliZDCReco::AliZDCReco(const AliZDCReco &oldreco) :
-
-  TObject()
+TObject(),
+fNDetSpecNSideA(oldreco.GetNDetSpecNSideA()),
+fNDetSpecPSideA(oldreco.GetNDetSpecPSideA()),
+fNDetSpecNSideC(oldreco.GetNDetSpecNSideC()),        
+fNDetSpecPSideC(oldreco.GetNDetSpecPSideC()),       
+fNTrueSpectators(oldreco.GetNTrueSpectators()),
+fNTrueSpecSideA(oldreco.GetNTrueSpecSideA()),
+fNTrueSpecSideC(oldreco.GetNTrueSpecSideC()),          
+fNParticipants(oldreco.GetNParticipants()),                   
+fNPartSideA(oldreco.GetNPartSideA()),                 
+fNPartSideC(oldreco.GetNPartSideC()),                         
+fImpParameter(oldreco.GetImpParameter()),      
+fImpParSideA(oldreco.GetImpParSideA()),      
+fImpParSideC(oldreco.GetImpParSideC()),
+fRecoFlag(oldreco.GetRecoFlag())    
 {
   // Copy constructor
 
-  fZN1Energy  = oldreco.GetZN1Energy();
-  fZP1Energy  = oldreco.GetZP1Energy();            
-  fZN2Energy  = oldreco.GetZN2Energy();           
-  fZP2Energy  = oldreco.GetZP2Energy();           
+  fZN1Energy[0]  = oldreco.GetZN1HREnergy();
+  fZP1Energy[0]  = oldreco.GetZP1HREnergy();           
+  fZN2Energy[0]  = oldreco.GetZN2HREnergy();        
+  fZP2Energy[0]  = oldreco.GetZP2HREnergy();    
+  //    
+  fZN1Energy[1]  = oldreco.GetZN1LREnergy();
+  fZP1Energy[1]  = oldreco.GetZP1LREnergy();          
+  fZN2Energy[1]  = oldreco.GetZN2LREnergy();       
+  fZP2Energy[1]  = oldreco.GetZP2LREnergy();       
   //
   for(Int_t i=0; i<5; i++){      
-     fZN1EnTow[i]  = oldreco.GetZN1EnTow(i);
-     fZP1EnTow[i]  = oldreco.GetZP1EnTow(i);
-     fZN2EnTow[i]  = oldreco.GetZN2EnTow(i);
-     fZP2EnTow[i]  = oldreco.GetZP2EnTow(i);
+     fZN1EnTow[i]  = oldreco.GetZN1HREnTow(i);
+     fZP1EnTow[i]  = oldreco.GetZP1HREnTow(i);
+     fZN2EnTow[i]  = oldreco.GetZN2HREnTow(i);
+     fZP2EnTow[i]  = oldreco.GetZP2HREnTow(i);
+     fZN1EnTow[i+5]  = oldreco.GetZN1LREnTow(i);
+     fZP1EnTow[i+5]  = oldreco.GetZP1LREnTow(i);
+     fZN2EnTow[i+5]  = oldreco.GetZN2LREnTow(i);
+     fZP2EnTow[i+5]  = oldreco.GetZP2LREnTow(i);
   }
-  //
-  fZEMsignal = oldreco.GetZEMsignal(); 
-  //   
-  fNDetSpecNLeft = oldreco.GetNDetSpecNLeft(); 
-  fNDetSpecPLeft = oldreco.GetNDetSpecPLeft(); 
-  fNDetSpecNRight = oldreco.GetNDetSpecNRight();       
-  fNDetSpecPRight = oldreco.GetNDetSpecPRight();       
-  fNTrueSpecNLeft = oldreco.GetNTrueSpecNLeft();         
-  fNTrueSpecPLeft = oldreco.GetNTrueSpecPLeft();         
-  fNTrueSpecLeft = oldreco.GetNTrueSpecLeft();   
-  fNTrueSpecNRight = oldreco.GetNTrueSpecNRight();       
-  fNTrueSpecPRight = oldreco.GetNTrueSpecPRight();       
-  fNTrueSpecRight = oldreco.GetNTrueSpecRight();         
-  fNPartLeft = oldreco.GetNPartLeft();                  
-  fNPartRight = oldreco.GetNPartRight();                        
-  fImpPar = oldreco.GetImpPar();                        
+  fZEM1signal[0] = oldreco.GetZEM1HRsignal();
+  fZEM1signal[1] = oldreco.GetZEM1LRsignal();
+  fZEM2signal[0] = oldreco.GetZEM2HRsignal();
+  fZEM2signal[1] = oldreco.GetZEM2LRsignal();
+  fPMRef1[0] = oldreco.GetPMRef1HRsignal();
+  fPMRef1[1] = oldreco.GetPMRef1LRsignal();
+  fPMRef2[0] = oldreco.GetPMRef2HRsignal();
+  fPMRef2[1] = oldreco.GetPMRef2LRsignal();
 }
 
 //______________________________________________________________________________
@@ -154,14 +170,21 @@ void AliZDCReco::Print(Option_t *) const {
   //
   // Printing Reconstruction Parameters
   //
-  printf(" \t ---   Reconstruction -> EZN = %f TeV, EZP = %f TeV,  EZEM = %f GeV \n "          
-        " \t NDetSpecNLeft = %d, NDetSpecPLeft = %d, NspecnLeft = %d,"
-        " NspecpLeft = %d, NpartLeft = %d"
-        " \t NDetSpecNRight = %d, NDetSpecPRight = %d, NspecnRight = %d,"
-        " NspecpRight = %d, NpartRight = %d"
-        " \t b = %f fm\n ", 
-        fZN1Energy,fZP1Energy,fZEMsignal,
-        fNDetSpecNLeft,fNDetSpecPLeft,fNTrueSpecNLeft,fNTrueSpecPLeft,fNPartLeft,
-        fNDetSpecNRight,fNDetSpecPRight,fNTrueSpecNRight,fNTrueSpecPRight,fNPartRight,
-        fImpPar);
+  printf(" ****************** AliZDCReco object ******************\n"
+        "       ---------------   side A ---------------\n"
+        " E_{ZN} = %f TeV, E_{ZP} = %f TeV, "
+        " E_{ZEM1} =  %f TeV,  E_{ZEM2} = %f TeV\n "
+        " N_{spec n}^{DET} = %d, N_{spec p}^{DET} = %d,"
+        " N_{part} = %d, b = %1.4f fm\n"
+        "       ---------------   side C ---------------\n"
+        " E_{ZN} = %f TeV, E_{ZP} = %f TeV\n "
+        " N_{spec n}^{DET} = %d, N_{spec p}^{DET} = %d,"
+        " N_{part} = %d, b = %1.4f fm\n"
+         " *******************************************************\n",
+        fZN2Energy[0]/1000., fZP2Energy[0]/1000.,
+        fZEM1signal[0]/1000.,fZEM2signal[0]/1000.,
+        fNDetSpecNSideA,fNDetSpecPSideA, fNPartSideA,fImpParSideA,
+        fZN1Energy[0]/1000.,fZP1Energy[0]/1000.,       
+         fNDetSpecNSideC,fNDetSpecPSideC,fNPartSideC,fImpParSideC);
+        
 }