]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
TRD pid
authorRaphaelleBailhache <bailhach@lxsub05.gsi.de>
Mon, 16 Dec 2013 16:49:55 +0000 (17:49 +0100)
committerRaphaelleBailhache <bailhach@lxsub05.gsi.de>
Mon, 16 Dec 2013 16:49:55 +0000 (17:49 +0100)
PWGHF/hfe/AliHFEpidTRD.cxx
PWGHF/hfe/AliHFEpidTRD.h

index 6cb69e06463ce530dbab59b0ce62e175eaea2e8a..295e45fa40ed16cd33abd18033444d1b6f8ab74d 100644 (file)
@@ -53,6 +53,7 @@ AliHFEpidTRD::AliHFEpidTRD() :
   , fRunNumber(0)
   , fElectronEfficiency(0.90)
   , fTotalChargeInSlice0(kFALSE)
+  , fTRDOldPIDMethod(kFALSE)
   , fTRD2DPID(kFALSE)
 {
   //
@@ -71,6 +72,7 @@ AliHFEpidTRD::AliHFEpidTRD(const char* name) :
   , fRunNumber(0)
   , fElectronEfficiency(0.91)
   , fTotalChargeInSlice0(kFALSE)
+  , fTRDOldPIDMethod(kFALSE)
   , fTRD2DPID(kFALSE)
 {
   //
@@ -89,6 +91,7 @@ AliHFEpidTRD::AliHFEpidTRD(const AliHFEpidTRD &ref):
   , fRunNumber(ref.fRunNumber)
   , fElectronEfficiency(ref.fElectronEfficiency)
   , fTotalChargeInSlice0(ref.fTotalChargeInSlice0)
+  , fTRDOldPIDMethod(ref.fTRDOldPIDMethod)
   , fTRD2DPID(ref.fTRD2DPID)
 {
   //
@@ -121,6 +124,7 @@ void AliHFEpidTRD::Copy(TObject &ref) const {
   target.fCutNTracklets = fCutNTracklets;
   target.fRunNumber = fRunNumber;
   target.fTotalChargeInSlice0 = fTotalChargeInSlice0;
+  target.fTRDOldPIDMethod = fTRDOldPIDMethod;
   target.fTRD2DPID = fTRD2DPID;
   target.fElectronEfficiency = fElectronEfficiency;
   memcpy(target.fThreshParams, fThreshParams, sizeof(Double_t) * kThreshParams);
@@ -141,9 +145,8 @@ Bool_t AliHFEpidTRD::InitializePID(Int_t run){
   //
   //
 
-  //if(fTRD2DPID) return Initialize2D(run);
-  if(fTRD2DPID) return kTRUE;
-  else return Initialize1D(run);
+  if(fTRDOldPIDMethod) return Initialize1D(run);
+  else return kTRUE;
 
 
 
@@ -187,8 +190,8 @@ Int_t AliHFEpidTRD::IsSelected(const AliHFEpidObject *track, AliHFEpidQAmanager
   //
   //
 
-    if(fTRD2DPID) return IsSelected2D(track, pidqa);
-    else return IsSelected1D(track, pidqa);
+   if(fTRDOldPIDMethod) return IsSelected1D(track, pidqa);
+   else return IsSelectedTRDPID(track, pidqa);
 
 
 }
@@ -256,7 +259,7 @@ Int_t AliHFEpidTRD::IsSelected1D(const AliHFEpidObject *track, AliHFEpidQAmanage
 }
 
 //______________________________________________________
-Int_t AliHFEpidTRD::IsSelected2D(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const {
+Int_t AliHFEpidTRD::IsSelectedTRDPID(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const {
   //
   // 2D TRD PID
   // 
@@ -298,8 +301,11 @@ Int_t AliHFEpidTRD::IsSelected2D(const AliHFEpidObject *track, AliHFEpidQAmanage
   if(centralitybin>=0) centrality=fCentralityLimitsdefault[centralitybin]+1;
   AliDebug(2, Form("Just before cutting Electron effi: %f %i %i %f\n", fElectronEfficiency,track->GetCentrality(),centralitybin,centrality));
 
-  if(fkPIDResponse->IdentifiedAsElectronTRD(track->GetRecTrack(),fElectronEfficiency,centrality,AliTRDPIDResponse::kLQ2D)){
-      AliDebug(2, Form("Electron effi: %f %i %i %f\n", fElectronEfficiency,track->GetCentrality(),centralitybin,centrality));
+  AliTRDPIDResponse::ETRDPIDMethod fTRDPIDMethod = AliTRDPIDResponse::kLQ1D;
+  if(fTRD2DPID) fTRDPIDMethod = AliTRDPIDResponse::kLQ2D;
+
+ if(fkPIDResponse->IdentifiedAsElectronTRD(track->GetRecTrack(),fElectronEfficiency,centrality,fTRDPIDMethod)){
+      AliDebug(2, Form("Electron effi: %f %i %i %f %i\n", fElectronEfficiency,track->GetCentrality(),centralitybin,centrality,fTRDPIDMethod));
       if(pidqa) pidqa->ProcessTrack(track, AliHFEpid::kTRDpid, AliHFEdetPIDqa::kAfterPID); 
       AliDebug(1,"PID qa done for step after\n");
       return 11;
index d2ed491625a0489f7ab12e58c980a8f6f734bb7e..ae9ae8eaf6337c94efe8aabeafe3358a58896f5a 100644 (file)
@@ -32,6 +32,7 @@ class AliMCParticle;
 class AliOADBContainer;
 class AliVParticle;
 class AliVTrack;
+class AliTRDPIDResponse;
 class TList;
 class TH2F;
 
@@ -63,7 +64,7 @@ class AliHFEpidTRD : public AliHFEpidBase{
     //virtual Bool_t Initialize2D(Int_t run);
     virtual Int_t  IsSelected(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const;
     virtual Int_t  IsSelected1D(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const;
-    virtual Int_t  IsSelected2D(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const;
+    virtual Int_t  IsSelectedTRDPID(const AliHFEpidObject *track, AliHFEpidQAmanager *pidqa) const;
 
     Double_t GetTRDSignalV1(const AliESDtrack *track, Float_t truncation = 0.7) const;
     Double_t GetTRDSignalV2(const AliESDtrack *track, Float_t trucation = 0.7) const;
@@ -73,6 +74,7 @@ class AliHFEpidTRD : public AliHFEpidBase{
     void SelectCutOnTheFly(Bool_t onFly = kTRUE) { if(onFly) SetBit(kSelectCutOnTheFly, kTRUE); else SetBit(kSelectCutOnTheFly, kFALSE);}
     void SetOADBThresholds(AliOADBContainer *cont) { fOADBThresholds = cont; }
     void SetTotalChargeInSlice0() { fTotalChargeInSlice0 = kTRUE; }
+    void SetTRDOldPIDMethod() { fTRDOldPIDMethod = kTRUE; }
     void SetTRD2DPID() { fTRD2DPID = kTRUE; }
     void SetRenormalizeElPi(Bool_t doRenorm = kTRUE) { if(doRenorm) SetBit(kTRDrenormalize, kTRUE); else SetBit(kTRDrenormalize, kFALSE);}
     void SetElectronEfficiency(Double_t electronEfficiency) { fElectronEfficiency = electronEfficiency; }
@@ -113,6 +115,7 @@ class AliHFEpidTRD : public AliHFEpidBase{
     Double_t fElectronEfficiency;                           // Cut on electron efficiency
     Double_t fThreshParams[kThreshParams];                  // Threshold parametrisation
     Bool_t   fTotalChargeInSlice0;                          // Flag for foreward/backward compatibility for the TRD total charge
+    Bool_t   fTRDOldPIDMethod;                              // Flag for old 1D PID method
     Bool_t   fTRD2DPID;                                     // Flag for 2D PID
   ClassDef(AliHFEpidTRD, 1)     // TRD electron ID class
 };