]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/STEERBase/AliTPCPIDResponse.cxx
Update master to aliroot
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliTPCPIDResponse.cxx
index 96bcb35f106d88e0200c2528175b010b2007eb89..68faa2f4203f3b19659ebd19f4d236e0c130ce3f 100644 (file)
@@ -80,7 +80,8 @@ AliTPCPIDResponse::AliTPCPIDResponse():
   fCurrentEventMultiplicity(0),
   fCorrFuncMultiplicity(0x0),
   fCorrFuncMultiplicityTanTheta(0x0),
-  fCorrFuncSigmaMultiplicity(0x0)
+  fCorrFuncSigmaMultiplicity(0x0),
+  fSplineArray()
 {
   //
   //  The default constructor
@@ -184,7 +185,8 @@ AliTPCPIDResponse::AliTPCPIDResponse(const AliTPCPIDResponse& that):
   fCurrentEventMultiplicity(that.fCurrentEventMultiplicity),
   fCorrFuncMultiplicity(0x0),
   fCorrFuncMultiplicityTanTheta(0x0),
-  fCorrFuncSigmaMultiplicity(0x0)
+  fCorrFuncSigmaMultiplicity(0x0),
+  fSplineArray()
 {
   //copy ctor
   for (Int_t i=0; i<fgkNumberOfGainScenarios; i++) {fRes0[i]=that.fRes0[i];fResN2[i]=that.fResN2[i];}
@@ -320,7 +322,7 @@ void AliTPCPIDResponse::SetSigma(Float_t res0, Float_t resN2) {
 }
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetExpectedSignal(const Float_t mom,
+Double_t AliTPCPIDResponse::GetExpectedSignal(Float_t mom,
                                              AliPID::EParticleType n) const {
   //
   // Deprecated function (for backward compatibility). Please use 
@@ -354,8 +356,8 @@ Double_t AliTPCPIDResponse::GetExpectedSignal(const Float_t mom,
 }
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetExpectedSigma(const Float_t mom, 
-                                             const Int_t nPoints,
+Double_t AliTPCPIDResponse::GetExpectedSigma(Float_t mom, 
+                                             Int_t nPoints,
                                              AliPID::EParticleType n) const {
   //
   // Deprecated function (for backward compatibility). Please use 
@@ -792,8 +794,8 @@ Double_t AliTPCPIDResponse::GetEtaCorrectionFast(const AliVTrack *track, Double_
     return 1.;
   
   Double_t tanTheta = GetTrackTanTheta(track); 
-  Int_t binX = fhEtaCorr->GetXaxis()->FindBin(tanTheta);
-  Int_t binY = fhEtaCorr->GetYaxis()->FindBin(1. / tpcSignal);
+  Int_t binX = fhEtaCorr->GetXaxis()->FindFixBin(tanTheta);
+  Int_t binY = fhEtaCorr->GetYaxis()->FindFixBin(1. / tpcSignal);
   
   if (binX == 0) 
     binX = 1;
@@ -914,8 +916,8 @@ Double_t AliTPCPIDResponse::GetSigmaPar1Fast(const AliVTrack *track, AliPID::EPa
     return 999;
   
   Double_t tanTheta = GetTrackTanTheta(track);
-  Int_t binX = fhEtaSigmaPar1->GetXaxis()->FindBin(tanTheta);
-  Int_t binY = fhEtaSigmaPar1->GetYaxis()->FindBin(1. / dEdxExpected);
+  Int_t binX = fhEtaSigmaPar1->GetXaxis()->FindFixBin(tanTheta);
+  Int_t binY = fhEtaSigmaPar1->GetYaxis()->FindFixBin(1. / dEdxExpected);
     
   if (binX == 0) 
     binX = 1;
@@ -1071,7 +1073,7 @@ Double_t AliTPCPIDResponse::GetTrackTanTheta(const AliVTrack *track) const
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetMultiplicityCorrectionFast(const AliVTrack *track, const Double_t dEdxExpected, const Int_t multiplicity) const
+Double_t AliTPCPIDResponse::GetMultiplicityCorrectionFast(const AliVTrack *track, Double_t dEdxExpected, Int_t multiplicity) const
 {
   // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
   //
@@ -1227,7 +1229,7 @@ Double_t AliTPCPIDResponse::GetEtaAndMultiplicityCorrectedTrackdEdx(const AliVTr
 
 
 //_________________________________________________________________________
-Double_t AliTPCPIDResponse::GetMultiplicitySigmaCorrectionFast(const Double_t dEdxExpected, const Int_t multiplicity) const
+Double_t AliTPCPIDResponse::GetMultiplicitySigmaCorrectionFast(Double_t dEdxExpected, Int_t multiplicity) const
 {
   // NOTE: For expert use only -> Non-experts are advised to use the function without the "Fast" suffix or stick to AliPIDResponse directly.
   //
@@ -1371,7 +1373,7 @@ AliTPCPIDResponse::EChamberStatus AliTPCPIDResponse::TrackStatus(const AliVTrack
   //if there is no inner param this could mean we're using the AOD track,
   //we still can extrapolate from the vertex - so use those params.
   const AliExternalTrackParam* ip = track->GetInnerParam();
-  if (ip) track=ip;
+  if (ip) track=dynamic_cast<const AliVTrack*>(ip);
 
   Bool_t trackAtInner = track->GetXYZAt(innerRadius, fMagField, trackPositionInner);
   Bool_t trackAtOuter = track->GetXYZAt(outerRadius, fMagField, trackPositionOuter);