]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/pid/AliPIDmaxProb.cxx
Updates for the centralized automatic QA (Ionut)
[u/mrichter/AliRoot.git] / PWGPP / pid / AliPIDmaxProb.cxx
CommitLineData
520899fb 1#include"AliPIDmaxProb.h"
2#include"AliPIDResponse.h"
3#include"AliAnalysisManager.h"
4#include"AliInputEventHandler.h"
5
6ClassImp(AliPIDmaxProb);
7
8AliPIDmaxProb::AliPIDmaxProb(const char *name):
9 AliPIDperfCut(name),
10 fPIDCombined(NULL),
9c5bbe8a 11 fMaskPID(AliPIDResponse::kDetTPC|AliPIDResponse::kDetTOF),
12 fTPCin(kFALSE),
13 fTOFin(kFALSE)
520899fb 14{
15 fPIDCombined=new AliPIDCombined;
16 fPIDCombined->SetDefaultTPCPriors();
17}
18//--------------------------------------------------------------------
19AliPIDmaxProb::AliPIDmaxProb():
20 AliPIDperfCut("AliPIDmaxProb"),
21 fPIDCombined(NULL),
9c5bbe8a 22 fMaskPID(AliPIDResponse::kDetTPC|AliPIDResponse::kDetTOF),
23 fTPCin(kFALSE),
24 fTOFin(kFALSE)
520899fb 25{
26 fPIDCombined=new AliPIDCombined;
27 fPIDCombined->SetDefaultTPCPriors();
28}
29//--------------------------------------------------------------------
30Bool_t AliPIDmaxProb::IsSelected(AliVTrack *track,AliPID::EParticleType type) const{
31 Int_t nspecies = AliPID::kSPECIES;
32 if(type >= nspecies || type < 0) return 0; // type has not a proper value
33
34 AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
35 AliInputEventHandler* inputHandler = (AliInputEventHandler*) (man->GetInputEventHandler());
36 AliPIDResponse *PIDResponse=inputHandler->GetPIDResponse();
37
38 fPIDCombined->SetDetectorMask(fMaskPID);
39
40 Double_t prob[10] = {0.,0.,0.,0.,0.,0.,0.,0.,0.,0.};
41
9c5bbe8a 42 UInt_t detUsed = fPIDCombined->ComputeProbabilities(track, PIDResponse, prob);
43
44 if(fTPCin && !(detUsed & AliPIDResponse::kDetTPC)) return kFALSE;
45 if(fTOFin && !(detUsed & AliPIDResponse::kDetTOF)) return kFALSE;
520899fb 46
47 Bool_t status = kTRUE;
48 for(Int_t i=0;i<nspecies;i++){
49 if(i != type && prob[type] <= prob[i]){
50 status = kFALSE;
51 break;
52 }
53 }
54
55 return status;
56}