// Implementation of the TRD PID class //
// //
// Assigns the electron and pion likelihoods to each ESD track. //
-// The function MakePID(AliESDEvent *event) calculates the probability //
+// The function MakePID(AliESDEvent *event) calculates the probability //
// of having dedx and a maximum timbin at a given //
// momentum (mom) and particle type k //
// from the precalculated distributions. //
// //
// Authors : //
-// Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> (Original version)//
-// Alex Bercuci (a.bercuci@gsi.de) //
+// Prashant Shukla <shukla@pi0.physi.uni-heidelberg.de> (orig. version) //
+// Alex Bercuci (a.bercuci@gsi.de) //
// //
////////////////////////////////////////////////////////////////////////////
#include "AliESDEvent.h"
#include "AliESDtrack.h"
#include "AliTracker.h"
+#include "AliRun.h"
#include "AliTRDpidESD.h"
#include "AliTRDgeometry.h"
#include "AliTRDcalibDB.h"
-#include "AliRun.h"
#include "AliTRDtrack.h"
#include "Cal/AliTRDCalPID.h"
-
ClassImp(AliTRDpidESD)
- Bool_t AliTRDpidESD::fCheckTrackStatus = kTRUE;
- Bool_t AliTRDpidESD::fCheckKinkStatus = kFALSE;
- Int_t AliTRDpidESD::fMinPlane = 0;
+Bool_t AliTRDpidESD::fgCheckTrackStatus = kTRUE;
+Bool_t AliTRDpidESD::fgCheckKinkStatus = kFALSE;
+Int_t AliTRDpidESD::fgMinPlane = 0;
//_____________________________________________________________________________
AliTRDpidESD::AliTRDpidESD()
- :TObject(), fTrack(0x0)
+ :TObject()
+ ,fTrack(0x0)
{
//
// Default constructor
//_____________________________________________________________________________
AliTRDpidESD::AliTRDpidESD(const AliTRDpidESD &p)
- :TObject(p), fTrack(0x0)
+ :TObject(p)
+ ,fTrack(0x0)
{
//
// AliTRDpidESD copy constructor
//
// Destructor
//
- if(fTrack) delete fTrack;
+
+ if(fTrack) delete fTrack;
+
}
//_____________________________________________________________________________
// Copy function
//
- ((AliTRDpidESD &) p).fCheckTrackStatus = fCheckTrackStatus;
- ((AliTRDpidESD &) p).fCheckKinkStatus = fCheckKinkStatus;
- ((AliTRDpidESD &) p).fMinPlane = fMinPlane;
+ ((AliTRDpidESD &) p).fgCheckTrackStatus = fgCheckTrackStatus;
+ ((AliTRDpidESD &) p).fgCheckKinkStatus = fgCheckKinkStatus;
+ ((AliTRDpidESD &) p).fgMinPlane = fgMinPlane;
((AliTRDpidESD &) p).fTrack = 0x0;
}
//
// Author
// Alex Bercuci (A.Bercuci@gsi.de) 2nd May 2007
+ //
AliTRDcalibDB *calibration = AliTRDcalibDB::Instance();
if (!calibration) {
mom = 0.;
length = 0.;
nPlanePID = 0;
- for (Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++) p[iSpecies] = 1./AliPID::kSPECIES;
+ for (Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++)
+ p[iSpecies] = 1./AliPID::kSPECIES;
+
for (Int_t iPlan = 0; iPlan < AliTRDgeometry::kNplan; iPlan++) {
// read data for track segment
for(int iSlice=0; iSlice<AliTRDtrack::kNslice; iSlice++)
Double_t probTotal = 0.;
for (Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++) probTotal += p[iSpecies];
if(probTotal <= 0.){
- AliWarningGeneral("AliTRDpidESD::MakePID()", Form("The total probability (%e) over all species <= 0 in ESD track %d. This may be caused by some error in reference data. Calculation continue but results might be corrupted.", probTotal, i));
+ AliWarning(Form("The total probability (%e) over all species <= 0 in ESD track %d."
+ , probTotal, i));
+ AliWarning("This may be caused by some error in reference data.");
+ AliWarning("Calculation continues but results might be corrupted.");
continue;
}
for(Int_t iSpecies = 0; iSpecies < AliPID::kSPECIES; iSpecies++) p[iSpecies] /= probTotal;
}
return 0;
+
}
//_____________________________________________________________________________
//
// Check the ESD track status
- if (fCheckTrackStatus) {
+ if (fgCheckTrackStatus) {
if (((t->GetStatus() & AliESDtrack::kTRDout ) == 0) &&
((t->GetStatus() & AliESDtrack::kTRDrefit) == 0)) return kFALSE;
}
// Check for ESD kink tracks
- if (fCheckKinkStatus && (t->GetKinkIndex(0) != 0)) return kFALSE;
+ if (fgCheckKinkStatus && (t->GetKinkIndex(0) != 0)) return kFALSE;
return kTRUE;
+
}
//_____________________________________________________________________________
-Bool_t AliTRDpidESD::RecalculateTrackSegmentKine(AliESDtrack *esd, Int_t plan, Float_t &mom, Float_t &length)
+Bool_t AliTRDpidESD::RecalculateTrackSegmentKine(AliESDtrack *esd
+ , Int_t plan
+ , Float_t &mom
+ , Float_t &length)
{
//
// Retrive momentum "mom" and track "length" in TRD chamber from plane
//
// Origin
// Alex Bercuci (A.Bercuci@gsi.de)
+ //
const Float_t kAmHalfWidth = AliTRDgeometry::AmThick() / 2.;
const Float_t kDrWidth = AliTRDgeometry::DrThick();
if(TMath::Abs(alpha-param->GetAlpha())>.01) return kFALSE;
return kTRUE;
-}
+}