]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Commit message
authorxlu <xianguo.lu@cern.ch>
Fri, 1 Aug 2014 08:51:25 +0000 (10:51 +0200)
committermorsch <andreas.morsch@cern.ch>
Tue, 30 Sep 2014 13:17:52 +0000 (15:17 +0200)
STEER/STEERBase/AliPIDResponse.cxx
STEER/STEERBase/AliTRDPIDResponse.cxx
STEER/STEERBase/AliTRDPIDResponse.h
STEER/STEERBase/AliTRDdEdxParams.cxx
STEER/STEERBase/AliTRDdEdxParams.h

index 3c45a6432e4d44ecfd988478fe991e335419fa6e..112fc6c5aa445e2f34c68339bd13f0618dae47cc 100644 (file)
@@ -1611,7 +1611,7 @@ void AliPIDResponse::SetTRDdEdxParams()
     AliFatal("Failed initializing settings from OADB"); 
   }
   else{
-    AliInfo(Form("AliPIDResponse::SetTRDdEdxParams loading %s from %s\n", cont.GetName(), filePathNamePackage.Data()));
+    AliInfo(Form("Loading %s from %s\n", cont.GetName(), filePathNamePackage.Data()));
 
     fTRDdEdxParams = (AliTRDdEdxParams*)(cont.GetObject(fRun, "default"));
     //fTRDdEdxParams->Print();
index 221ebe00b361c788de5e6da0c51709e386a57d0b..7f9794c5b989d0bb8d0b2f4a45efbd9646f29808 100644 (file)
@@ -184,22 +184,12 @@ Double_t AliTRDPIDResponse::GetSignalDelta( const AliVTrack* track, AliPID::EPar
   }
 
   if(!fkTRDdEdxParams){
-    AliError("AliTRDPIDResponse::GetSignalDelta fkTRDdEdxParams null");
+    AliError("fkTRDdEdxParams null");
     return -99999;
   }
 
-  TVectorF meanvec = fkTRDdEdxParams->GetMeanParameter(type);
-  TVectorF resvec  = fkTRDdEdxParams->GetSigmaParameter(type);
-
-  Double_t meanpar[meanvec.GetNrows()];
-  Double_t respar[resvec.GetNrows()];
-
-  for(Int_t ii=0; ii<meanvec.GetNrows(); ii++){
-    meanpar[ii]=meanvec[ii];
-  }
-  for(Int_t ii=0; ii<resvec.GetNrows(); ii++){
-    respar[ii]=resvec[ii];
-  }
+  const Float_t *meanpar = (fkTRDdEdxParams->GetMeanParameter(type)).GetMatrixArray();
+  const Float_t *respar  = (fkTRDdEdxParams->GetSigmaParameter(type)).GetMatrixArray();
 
   //============================================================================================<<<<<<<<<<<<<
 
@@ -222,7 +212,7 @@ Double_t AliTRDPIDResponse::GetSignalDelta( const AliVTrack* track, AliPID::EPar
 }
 
 
-Double_t AliTRDPIDResponse::ResolutiondEdxTR(const Double_t * xx,  const Double_t * par)
+Double_t AliTRDPIDResponse::ResolutiondEdxTR(const Double_t * xx,  const Float_t * par)
 {
   //
   //resolution 
@@ -234,21 +224,21 @@ Double_t AliTRDPIDResponse::ResolutiondEdxTR(const Double_t * xx,  const Double_
   return par[0]+par[1]*TMath::Power(ncls, par[2]);
 }
 
-Double_t AliTRDPIDResponse::MeandEdxTR(const Double_t * xx,  const Double_t * pin)
+Double_t AliTRDPIDResponse::MeandEdxTR(const Double_t * xx,  const Float_t * pin)
 {
   //
   //ALEPH+LOGISTIC parametrization for dEdx+TR, in unit of MIP
   //npar = 8 = 3+5
   //
 
-  Double_t ptr[4]={0};
+  Float_t ptr[4]={0};
   for(int ii=0; ii<3; ii++){
     ptr[ii+1]=pin[ii];
   }
   return MeanTR(xx,ptr) + MeandEdx(xx,&(pin[3]));
 }
 
-Double_t AliTRDPIDResponse::MeanTR(const Double_t * xx,  const Double_t * par)
+Double_t AliTRDPIDResponse::MeanTR(const Double_t * xx,  const Float_t * par)
 {
   //
   //LOGISTIC parametrization for TR, in unit of MIP
@@ -268,7 +258,7 @@ Double_t AliTRDPIDResponse::MeanTR(const Double_t * xx,  const Double_t * par)
   return par[0]+tryield;
 }
 
-Double_t AliTRDPIDResponse::MeandEdx(const Double_t * xx,  const Double_t * par)
+Double_t AliTRDPIDResponse::MeandEdx(const Double_t * xx,  const Float_t * par)
 {
   //
   //ALEPH parametrization for dEdx
index d0dd4e01f1fc417c239b5e88c7b6660892100abf..b72d9009b110fe15c49c89575681dda1d7ef6afa 100644 (file)
@@ -62,10 +62,10 @@ class AliTRDPIDResponse : public TObject {
     
     Double_t GetNumberOfSigmas(const AliVTrack *track, AliPID::EParticleType type) const;
     Double_t GetSignalDelta( const AliVTrack* track, AliPID::EParticleType type, Bool_t ratio=kFALSE, Double_t *info=0x0) const;
-    static Double_t MeandEdx(const Double_t * xx, const Double_t * par);
-    static Double_t MeanTR(const Double_t * xx, const Double_t * par);
-    static Double_t MeandEdxTR(const Double_t * xx, const Double_t * par);
-    static Double_t ResolutiondEdxTR(const Double_t * xx,  const Double_t * par);
+    static Double_t MeandEdx(const Double_t * xx, const Float_t * par);
+    static Double_t MeanTR(const Double_t * xx, const Float_t * par);
+    static Double_t MeandEdxTR(const Double_t * xx, const Float_t * par);
+    static Double_t ResolutiondEdxTR(const Double_t * xx,  const Float_t * par);
 
     Int_t    GetResponse(Int_t n, const Double_t * const dedx, const Float_t * const p, Double_t prob[AliPID::kSPECIES],ETRDPIDMethod PIDmethod=kLQ1D, Bool_t kNorm=kTRUE) const;
     inline ETRDNslices  GetNumberOfSlices(ETRDPIDMethod PIDmethod=kLQ1D) const;
index 4e15df9ea50c638e33330ef2b282e3c05da6b04d..860c953d91e2955d2c69bab76ec43e4c30ea87a8 100644 (file)
@@ -39,7 +39,7 @@ void AliTRDdEdxParams::CheckType(const Int_t itype, const TString tag) const
   }
 }
 
-const TVectorF AliTRDdEdxParams::GetParameter(const TVectorF par[], const Int_t itype)const
+const TVectorF& AliTRDdEdxParams::GetParameter(const TVectorF par[], const Int_t itype)const
 {
   //
   //return parameter for particle itype from par[]
index 7fc9ff89ea50235b1f67713daecc2986b31ea9fb..6506c6cf411c33381dca72daa797b17d0984a4e4 100644 (file)
@@ -32,14 +32,14 @@ class AliTRDdEdxParams: public TNamed
   AliTRDdEdxParams(const TString name="name", const TString title="title");
   void Print(Option_t* option = "") const;
 
-  const TVectorF GetMeanParameter(const Int_t itype) const { return GetParameter(fMeanPar, itype);}
-  const TVectorF GetSigmaParameter(const Int_t itype) const { return GetParameter(fSigmaPar, itype);}
+  const TVectorF& GetMeanParameter(const Int_t itype) const { return GetParameter(fMeanPar, itype);}
+  const TVectorF& GetSigmaParameter(const Int_t itype) const { return GetParameter(fSigmaPar, itype);}
 
   void SetMeanParameter(const Int_t itype, const Int_t npar, const Float_t vals[]){ SetParameter(fMeanPar, itype, npar, vals); }
   void SetSigmaParameter(const Int_t itype, const Int_t npar, const Float_t vals[]){ SetParameter(fSigmaPar, itype, npar, vals); } 
 
  private:
-  const TVectorF GetParameter(const TVectorF par[], const Int_t itype) const;
+  const TVectorF& GetParameter(const TVectorF par[], const Int_t itype) const;
   void SetParameter(TVectorF par[], const Int_t itype, const Int_t npar, const Float_t vals[]);
 
   TVectorF fMeanPar[MAXNPAR];