Provide place where T0 group will store resolutions inside ESD data,
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 Feb 2011 14:34:21 +0000 (14:34 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 Feb 2011 14:34:21 +0000 (14:34 +0000)
in such a way this can be read, run by run, by analysis tasks reading ESDs
without access to the OCDB.

Pietro, Chiara

STEER/AliESDRun.cxx
STEER/AliESDRun.h

index ea42ff5..70f29c2 100644 (file)
@@ -46,6 +46,7 @@ AliESDRun::AliESDRun() :
   fTriggerClasses(kNTriggerClasses),
   fDetInDAQ(0),
   fDetInReco(0)
+  
 {
   for (Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
   fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
@@ -54,6 +55,7 @@ AliESDRun::AliESDRun() :
   fMeanBeamInt[0][0]=fMeanBeamInt[0][1]=fMeanBeamInt[1][0]=fMeanBeamInt[1][1]=-1;
   for (Int_t m=0; m<kNPHOSMatrix; m++) fPHOSMatrix[m]=NULL;
   for (Int_t sm=0; sm<kNEMCALMatrix; sm++) fEMCALMatrix[sm]=NULL;
+  for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=0.;
 }
 
 //______________________________________________________________________________
@@ -97,6 +99,8 @@ AliESDRun::AliESDRun(const AliESDRun &esd) :
        else
                fEMCALMatrix[sm]=NULL;
   }
+  for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=esd.fT0spread[i];
+
 }
 
 //______________________________________________________________________________
@@ -142,6 +146,7 @@ AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
                  fEMCALMatrix[sm]=0;
        }
   } 
+  for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=esd.fT0spread[i];
   return *this;
 }
 
@@ -351,3 +356,34 @@ Bool_t AliESDRun::InitMagneticField() const
   }
   //
 }
+
+//_____________________________________________________________________________
+void AliESDRun::SetT0spread(Int_t i,Float_t t) 
+{
+  //
+  // Setting the T0 spread value at index i 
+  //
+
+  if ( (i>=0) && (i<kT0spreadSize)) {
+    fT0spread[i]=t;
+  } else {
+    AliError(Form("Index %d out of bound",i));
+  }
+  return;
+}
+
+//_____________________________________________________________________________
+void AliESDRun::SetT0spread(Float_t *t) 
+{
+  //
+  // Setting the T0 spread values
+  //
+  if (t == 0x0){
+    AliError(Form("Null pointer passed"));
+  }
+  else{
+    for (Int_t i=0;i<kT0spreadSize;i++) fT0spread[i]=t[i];
+  }
+  return;
+}
+
index 28aa63f..991f138 100644 (file)
@@ -23,6 +23,7 @@ public:
 
   enum StatusBits {kBInfoStored = BIT(14), kUniformBMap = BIT(15), kConvSqrtSHalfGeV = BIT(16)};
 
+
   AliESDRun();
   AliESDRun(const AliESDRun& esd);
   AliESDRun& operator=(const AliESDRun& esd);
@@ -86,6 +87,7 @@ public:
   enum {kNTriggerClasses = 50};
   enum {kNPHOSMatrix = 5};
   enum {kNEMCALMatrix = 12};
+  enum {kT0spreadSize = 4};
   //
   Double_t   GetMeanIntensity(int beam,int btp)     const 
   { return (beam>=0&&beam<2&&btp>=0&&btp<2) ? fMeanBeamInt[beam][btp]:0;}
@@ -93,8 +95,13 @@ public:
   { if (beam>=0&&beam<2&&btp>=0&&btp<2) fMeanBeamInt[beam][btp]=v;}  
   Double_t   GetMeanIntensityIntecting(int beam)    const {return GetMeanIntensity(beam,0);}
   Double_t   GetMeanIntensityNonIntecting(int beam) const {return GetMeanIntensity(beam,1);}
-  //
- private:
+  // 
+  Float_t    GetT0spread(Int_t i) const {
+    return ((i >= 0)  && (i<kT0spreadSize)) ? fT0spread[i] : 0;}
+  void       SetT0spread(Int_t i, Float_t t);
+  void       SetT0spread(Float_t *t);
+
+private:
   Float_t         fCurrentL3;       // signed current in the L3     (LHC convention: +current -> +Bz)
   Float_t         fCurrentDip;      // signed current in the Dipole (LHC convention: +current -> -Bx)
   Float_t         fBeamEnergy;      // beamEnergy entry from GRP
@@ -113,8 +120,9 @@ public:
   UInt_t          fDetInReco;       // Detector mask for detectors in reconstruction
   TGeoHMatrix*    fPHOSMatrix[kNPHOSMatrix]; //PHOS module position and orientation matrices
   TGeoHMatrix*    fEMCALMatrix[kNEMCALMatrix]; //EMCAL supermodule position and orientation matrices
+  Float_t         fT0spread[kT0spreadSize];     // spread of time distributions on T0A, T0C, (T0A+T0C)/2, (T0A-T0C)/2
 
-  ClassDef(AliESDRun,9)
+  ClassDef(AliESDRun,10)
 };
 
 #endif