]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
selection on time0 type (Leonardo)
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 May 2013 12:16:53 +0000 (12:16 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 16 May 2013 12:16:53 +0000 (12:16 +0000)
PWG/Tools/AliHelperPID.cxx
PWG/Tools/AliHelperPID.h

index a139df43ba516642ec8e68cc5207a0c268d0ff9f..b5f26a897f24b4ecd7756024ef8e37377d344e0e 100644 (file)
@@ -43,7 +43,7 @@ const char * kParticleSpeciesName[]={"Pions","Kaons","Protons","Undefined"} ;
 
 ClassImp(AliHelperPID)
 
-AliHelperPID::AliHelperPID() : TNamed("HelperPID", "PID object"),fisMC(0), fPIDType(kNSigmaTPCTOF), fNSigmaPID(3), fPIDResponse(0),fOutputList(0),fRequestTOFPID(1),fUseExclusiveNSigma(0),fPtTOFPID(.6),fHasTOFPID(0){
+AliHelperPID::AliHelperPID() : TNamed("HelperPID", "PID object"),fisMC(0), fPIDType(kNSigmaTPCTOF), fNSigmaPID(3), fPIDResponse(0),fOutputList(0),fRequestTOFPID(1),fRemoveTracksT0Fill(0),fUseExclusiveNSigma(0),fPtTOFPID(.6),fHasTOFPID(0){
   
   for(Int_t ipart=0;ipart<kNSpecies;ipart++)
     for(Int_t ipid=0;ipid<=kNSigmaPIDType;ipid++)
@@ -424,6 +424,21 @@ void AliHelperPID::CheckTOF(AliVTrack * trk)
   else fHasTOFPID=kTRUE;
   //in addition to KTOFout and kTIME we look at the pt
   if(trk->Pt()<fPtTOFPID)fHasTOFPID=kFALSE;
+  
+  if(fRemoveTracksT0Fill)
+    {
+      //get the PIDResponse
+      if(!fPIDResponse) {
+       AliAnalysisManager *man = AliAnalysisManager::GetAnalysisManager();
+       AliInputEventHandler* inputHandler = (AliInputEventHandler*)(man->GetInputEventHandler());
+       fPIDResponse = inputHandler->GetPIDResponse();
+      }
+      if(!fPIDResponse) {
+       AliFatal("Cannot get pid response");
+      }
+      Int_t startTimeMask = fPIDResponse->GetTOFResponse().GetStartTimeMask(trk->P());
+      if (startTimeMask < 0)fHasTOFPID=kFALSE; 
+    }
 }
 
 //////////////////////////////////////////////////////////////////////////////////////////////////
index 8caa7e19b21ed275ffa9d80a9dee48756d5d825a..5ec17aedc9739219718fb30a5cbb53b00f995a74 100644 (file)
@@ -72,6 +72,8 @@ class AliHelperPID : public TNamed
   //TOF PID
   void SetfRequestTOFPID(Bool_t tof){fRequestTOFPID=tof;}//fRequestTOFPID
   Bool_t GetfRequestTOFPID(){return   fRequestTOFPID;}//fRequestTOFPID
+  void SetfRemoveTracksT0Fill(Bool_t tof){fRemoveTracksT0Fill=tof;}//fRemoveTracksT0Fill
+  Bool_t GetfRemoveTracksT0Fill(){return   fRemoveTracksT0Fill;}//fRemoveTracksT0Fill
   //Exclusive NSIgma
   void SetfUseExclusiveNSigma(Bool_t nsigEx){fUseExclusiveNSigma=nsigEx;}//fUseExclusiveNSigma
   Bool_t GetfUseExclusiveNSigma(){return   fUseExclusiveNSigma;}//fUseExclusiveNSigma
@@ -104,6 +106,7 @@ class AliHelperPID : public TNamed
   Double_t fnsigmas[kNSpecies][kNSigmaPIDType+1]; //nsigma values
   Bool_t fHasDoubleCounting[kNSpecies];//array with compatible identities
   Bool_t fRequestTOFPID;//if true returns kSpUndefined if the TOF signal is missing
+  Bool_t fRemoveTracksT0Fill;//if true remove tracks for which only StartTime from To-Fill is available (worst resolution)
   Bool_t fUseExclusiveNSigma;//if true returns the identity only if no double counting
   Double_t fPtTOFPID; //lower pt bound for the TOF pid
   Bool_t fHasTOFPID;
@@ -112,7 +115,7 @@ class AliHelperPID : public TNamed
   AliHelperPID(const AliHelperPID&);
   AliHelperPID& operator=(const AliHelperPID&);
   
-  ClassDef(AliHelperPID, 2);
+  ClassDef(AliHelperPID, 3);
   
 };
 #endif