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++)
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;
+ }
}
//////////////////////////////////////////////////////////////////////////////////////////////////
//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
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;
AliHelperPID(const AliHelperPID&);
AliHelperPID& operator=(const AliHelperPID&);
- ClassDef(AliHelperPID, 2);
+ ClassDef(AliHelperPID, 3);
};
#endif