]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ZDC/AliZDCReco.cxx
Bug in fragments production evaluation corrected
[u/mrichter/AliRoot.git] / ZDC / AliZDCReco.cxx
index d1a34bfeb53016ee163b313fa3fbe1bc9101a4b4..0e2548dcebca3ecc36b092d5260dc5f772be513a 100644 (file)
@@ -33,20 +33,21 @@ AliZDCReco::AliZDCReco() :
        
   TObject(),
   //
-  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),
+  fIsScalerOn(kFALSE)
 { 
   //
   // Default constructor
@@ -59,37 +60,40 @@ AliZDCReco::AliZDCReco() :
        fPMRef1[i] = fPMRef2[i] = 0.;
      }
   }
+  
+  for(Int_t i=0; i<32; i++) fZDCScaler[i] = fZDCTDCData[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* ezem1, Float_t* ezem2, 
-            Float_t* ref1, Float_t* ref2, 
-            //    
-            Int_t detspnLeft,  Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,  
-            Int_t trspnLeft, Int_t trsppLeft, Int_t trspLeft
-            Int_t trspnRight, Int_t trsppRight, Int_t trspRight,
-            Int_t partLeft, 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, Bool_t scalerOn, UInt_t* scaler, Int_t* tdcData) :
        
   TObject(),
   //
-  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),
+  fIsScalerOn(scalerOn)
 { 
   //
   // Constructor
@@ -110,25 +114,30 @@ AliZDCReco::AliZDCReco(Float_t* ezn1, Float_t* ezp1, Float_t* ezn2, Float_t* ezp
        fPMRef2[j] = ref2[j];
      }
   }
-  
+  for(Int_t j=0; j<32; j++){
+    fZDCScaler[j] = scaler[j];
+    fZDCTDCData[j] = tdcData[j];
+  }
 }
 
 //______________________________________________________________________________
 AliZDCReco::AliZDCReco(const AliZDCReco &oldreco) :
 TObject(),
-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())      
+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()),
+fIsScalerOn(oldreco.IsScalerOn())    
 {
   // Copy constructor
 
@@ -160,6 +169,10 @@ fImpPar(oldreco.GetImpPar())
   fPMRef1[1] = oldreco.GetPMRef1LRsignal();
   fPMRef2[0] = oldreco.GetPMRef2HRsignal();
   fPMRef2[1] = oldreco.GetPMRef2LRsignal();
+  for(Int_t j=0; j<32; j++){
+    fZDCScaler[j] = oldreco.GetZDCScaler(j);
+    fZDCTDCData[j] = oldreco.GetZDCTDCData(j);
+  }
 }
 
 //______________________________________________________________________________
@@ -167,16 +180,21 @@ void AliZDCReco::Print(Option_t *) const {
   //
   // Printing Reconstruction Parameters
   //
-  printf(" \t ---   Reconstruction -> EZN1 = %f TeV, EZP1 = %f TeV,  EZEM1 = %f GeV ,  EZEM2 = %f GeV \n "             
-        "EZN2 = %f TeV, EZP2 = %f TeV \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[0],fZP1Energy[0],fZEM1signal[0],fZEM2signal[0], 
-        fZN2Energy[0], fZP2Energy[0],
-        fNDetSpecNLeft,fNDetSpecPLeft,fNTrueSpecNLeft,fNTrueSpecPLeft,fNPartLeft,
-        fNDetSpecNRight,fNDetSpecPRight,fNTrueSpecNRight,fNTrueSpecPRight,fNPartRight,
-        fImpPar);
+  printf(" ****************** AliZDCReco object ******************\n"
+        "       ---------------   side A ---------------\n"
+        " E_ZN = %1.2f TeV, E_ZP = %1.2f TeV, "
+        " E_ZEM1 =  %1.2f TeV,  E_ZEM2 = %1.2f TeV\n "
+        " N_spec_n = %d, N_spec_p = %d,"
+        " N_part = %d, b = %1.4f fm\n"
+        "       ---------------   side C ---------------\n"
+        " E_ZN = %1.2f TeV, E_ZP = %1.2f TeV, "
+        " N_spec_n = %d, N_spec_p = %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);
+        
 }