]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDRun.cxx
Coverity 16571
[u/mrichter/AliRoot.git] / STEER / AliESDRun.cxx
index 7bcc515b495acda0e5da92f3a20d72de9291dd69..12536e50133f4eb5bbd4960fc449d22307cf4c2e 100644 (file)
@@ -37,6 +37,8 @@ AliESDRun::AliESDRun() :
   fCurrentDip(0),
   fBeamEnergy(0),
   fMagneticField(0),
+  fDiamondZ(0),
+  fDiamondSig2Z(0),
   fPeriodNumber(0),
   fRunNumber(0),
   fRecoVersion(0),
@@ -44,13 +46,17 @@ 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.;
   fDiamondCovXY[1]=0.;
   fTriggerClasses.SetOwner(kTRUE);
+  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.;
+  for (Int_t it=0; it<8; it++) fCaloTriggerType[it]=0;
 }
 
 //______________________________________________________________________________
@@ -60,6 +66,8 @@ AliESDRun::AliESDRun(const AliESDRun &esd) :
   fCurrentDip(0),
   fBeamEnergy(0),
   fMagneticField(esd.fMagneticField),
+  fDiamondZ(esd.fDiamondZ),
+  fDiamondSig2Z(esd.fDiamondSig2Z),
   fPeriodNumber(esd.fPeriodNumber),
   fRunNumber(esd.fRunNumber),
   fRecoVersion(esd.fRecoVersion),
@@ -83,13 +91,18 @@ AliESDRun::AliESDRun(const AliESDRun &esd) :
     else
       fPHOSMatrix[m]=NULL;
   }
-       
+  
+  for (int ib=2;ib--;) for (int it=2;it--;) fMeanBeamInt[ib][it] = esd.fMeanBeamInt[ib][it];
+
   for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
        if(esd.fEMCALMatrix[sm])
                fEMCALMatrix[sm]=new TGeoHMatrix(*(esd.fEMCALMatrix[sm])) ;
        else
                fEMCALMatrix[sm]=NULL;
   }
+  for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=esd.fT0spread[i];
+  for (Int_t it=0; it<8; it++) fCaloTriggerType[it]=esd.fCaloTriggerType[it];
+
 }
 
 //______________________________________________________________________________
@@ -102,6 +115,8 @@ AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
     fPeriodNumber=esd.fPeriodNumber;
     fRecoVersion=esd.fRecoVersion;
     fMagneticField=esd.fMagneticField;
+    fDiamondZ=esd.fDiamondZ;
+    fDiamondSig2Z=esd.fDiamondSig2Z;
     fBeamType = esd.fBeamType;
     fCurrentL3  = esd.fCurrentL3;
     fCurrentDip = esd.fCurrentDip;
@@ -117,6 +132,8 @@ AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
     fDetInDAQ   = esd.fDetInDAQ;
     fDetInReco  = esd.fDetInReco;
 
+    for (int ib=2;ib--;) for (int it=2;it--;) fMeanBeamInt[ib][it] = esd.fMeanBeamInt[ib][it];
+
     for(Int_t m=0; m<kNPHOSMatrix; m++){
       if(esd.fPHOSMatrix[m])
        fPHOSMatrix[m]=new TGeoHMatrix(*(esd.fPHOSMatrix[m])) ;
@@ -131,6 +148,8 @@ AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
                  fEMCALMatrix[sm]=0;
        }
   } 
+  for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=esd.fT0spread[i];
+  for (Int_t it=0; it<8; it++) fCaloTriggerType[it]=esd.fCaloTriggerType[it];
   return *this;
 }
 
@@ -164,13 +183,17 @@ AliESDRun::~AliESDRun() {
 
 void AliESDRun::SetDiamond(const AliESDVertex *vertex) {
   // set the interaction diamond
-  fDiamondXY[0]=vertex->GetXv();
-  fDiamondXY[1]=vertex->GetYv();
-  Double32_t cov[6];
-  vertex->GetCovMatrix(cov);
-  fDiamondCovXY[0]=cov[0];
-  fDiamondCovXY[1]=cov[1];
-  fDiamondCovXY[2]=cov[2];
+  if (vertex) {
+    fDiamondXY[0]=vertex->GetXv();
+    fDiamondXY[1]=vertex->GetYv();
+    fDiamondZ=vertex->GetZv();
+    Double32_t cov[6];
+    vertex->GetCovMatrix(cov);
+    fDiamondCovXY[0]=cov[0];
+    fDiamondCovXY[1]=cov[1];
+    fDiamondCovXY[2]=cov[2];
+    fDiamondSig2Z=cov[5];
+  }
 }
 
 
@@ -178,8 +201,8 @@ void AliESDRun::SetDiamond(const AliESDVertex *vertex) {
 void AliESDRun::Print(const Option_t *) const
 {
   // Print some data members
-  printf("Mean vertex in RUN %d: X=%.4f Y=%.4f cm\n",
-        GetRunNumber(),GetDiamondX(),GetDiamondY());
+  printf("Mean vertex in RUN %d: X=%.4f Y=%.4f Z=%.4f cm\n",
+        GetRunNumber(),GetDiamondX(),GetDiamondY(),GetDiamondZ());
   printf("Beam Type: %s, Energy: %.1f GeV\n",fBeamType.IsNull() ? "N/A":fBeamType.Data(),fBeamEnergy);
   printf("Magnetic field in IP= %f T | Currents: L3:%+.1f Dipole:%+.1f %s\n",
         GetMagneticField(),fCurrentL3,fCurrentDip,TestBit(kUniformBMap) ? "(Uniform)":"");
@@ -190,6 +213,8 @@ void AliESDRun::Print(const Option_t *) const
     TNamed *str = (TNamed *)((fTriggerClasses).At(i));
     if (str) printf("%s ",str->GetName());
   }
+  printf("Mean intenstity for interacting   : beam1:%+.3e beam2:%+.3e\n",fMeanBeamInt[0][0],fMeanBeamInt[1][0]);
+  printf("Mean intenstity for non-intecting : beam1:%+.3e beam2:%+.3e\n",fMeanBeamInt[0][1],fMeanBeamInt[1][1]);
   printf("\n");
 }
 
@@ -208,6 +233,8 @@ void AliESDRun::Reset()
   for (Int_t i=0; i<2; i++) fDiamondXY[i]=0.;
   fDiamondCovXY[0]=fDiamondCovXY[2]=3.*3.;
   fDiamondCovXY[1]=0.;
+  fDiamondZ=0.;
+  fDiamondSig2Z=10.*10.;
   fTriggerClasses.Clear();
   fDetInDAQ   = 0;
   fDetInReco  = 0;
@@ -334,3 +361,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;
+}
+