]>
Commit | Line | Data |
---|---|---|
bd74a0e6 | 1 | // |
2 | // All cuts for single pions in Sigma* analysis 2010, | |
3 | // based on track quality and particle identification | |
4 | // with TPC and TOF. | |
5 | // Author: Massimo Venaruzzo. | |
6 | // | |
7 | // | |
8 | ||
9 | #include <Riostream.h> | |
10 | ||
11 | #include "AliPID.h" | |
12 | #include "AliPIDResponse.h" | |
13 | #include "AliRsnCutDaughterSigmaStar2010PP.h" | |
14 | ||
15 | ClassImp(AliRsnCutDaughterSigmaStar2010PP) | |
16 | ||
17 | //__________________________________________________________________________________________________ | |
18 | AliRsnCutDaughterSigmaStar2010PP::AliRsnCutDaughterSigmaStar2010PP(const char *name, AliPID::EParticleType pid) : | |
19 | AliRsnCut(name, AliRsnTarget::kDaughter), | |
20 | fPID(pid), | |
3da8cef7 | 21 | fCutQuality(Form("%sQuality", name)), |
9d4bb6d8 | 22 | fPIDCut(3.0), |
92932daf | 23 | fMinTPCcluster(70), |
65ddd3ef | 24 | //fDCARptFormula("0.0182+0.0350/pt^1.01") |
25 | fDCARmax(0.05) | |
bd74a0e6 | 26 | { |
27 | // | |
28 | // Constructor | |
29 | // Initialize track quality cuts to 2010 defaults | |
30 | // | |
31 | ||
32 | fCutQuality.SetPtRange(0.15, 1E+20); | |
33 | fCutQuality.SetEtaRange(-0.8, 0.8); | |
65ddd3ef | 34 | fCutQuality.SetDCARmax(fDCARmax); |
35 | //fCutQuality.SetDCARPtFormula(fDCARptFormula); | |
bd74a0e6 | 36 | fCutQuality.SetDCAZmax(2.0); |
37 | fCutQuality.SetSPDminNClusters(1); | |
38 | fCutQuality.SetITSminNClusters(0); | |
39 | fCutQuality.SetITSmaxChi2(1E+20); | |
9d4bb6d8 | 40 | fCutQuality.SetTPCminNClusters(fMinTPCcluster); |
bd74a0e6 | 41 | fCutQuality.SetTPCmaxChi2(4.0); |
42 | fCutQuality.SetRejectKinkDaughters(); | |
43 | fCutQuality.SetAODTestFilterBit(5); | |
44 | } | |
45 | ||
46 | //__________________________________________________________________________________________________ | |
47 | Bool_t AliRsnCutDaughterSigmaStar2010PP::IsSelected(TObject *obj) | |
48 | { | |
49 | // | |
50 | // Global check | |
51 | // | |
52 | ||
53 | // coherence check | |
54 | if (!TargetOK(obj)) return kFALSE; | |
61f275d1 | 55 | |
bd74a0e6 | 56 | // check track |
57 | AliVTrack *track = fDaughter->Ref2Vtrack(); | |
58 | if (!track) { | |
59 | if (!fDaughter->GetRef()) AliWarning("NULL ref"); | |
60 | return kFALSE; | |
61 | } | |
61f275d1 | 62 | |
76d89202 | 63 | AliDebugClass(2, "Checking status"); |
64 | ||
65 | ||
bd74a0e6 | 66 | // check flags |
67 | if ((track->GetStatus() & AliESDtrack::kTPCin ) == 0) return kFALSE; | |
68 | if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) return kFALSE; | |
69 | if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) return kFALSE; | |
61f275d1 | 70 | |
76d89202 | 71 | AliDebugClass(2, "Checking quality cuts"); |
72 | ||
bd74a0e6 | 73 | // quality |
74 | if (!fCutQuality.IsSelected(obj)) return kFALSE; | |
61f275d1 | 75 | |
76d89202 | 76 | AliDebugClass(2, "...passed"); |
77 | ||
78 | ||
bd74a0e6 | 79 | // check initialization of PID object |
80 | AliPIDResponse *pid = fEvent->GetPIDResponse(); | |
81 | if (!pid) { | |
82 | AliFatal("NULL PID response"); | |
83 | return kFALSE; | |
84 | } | |
61f275d1 | 85 | |
bd74a0e6 | 86 | // check if TOF is matched |
87 | // and computes all values used in the PID cut | |
88 | //Bool_t isTOF = MatchTOF(track); | |
89 | //Double_t pTPC = track->GetTPCmomentum(); | |
90 | //Double_t p = track->P(); | |
3da8cef7 | 91 | Double_t nsTPC = TMath::Abs(pid->NumberOfSigmasTPC(track, fPID)); |
bd74a0e6 | 92 | //Double_t nsTOF = TMath::Abs(pid->NumberOfSigmasTOF(track, fPID)); |
3da8cef7 | 93 | Double_t maxTPC = 1E20; |
bd74a0e6 | 94 | //Double_t maxTOF = 1E20; |
61f275d1 | 95 | |
bd74a0e6 | 96 | // applies the cut differently depending on the PID and the momentum |
97 | //if (isTOF) { | |
61f275d1 | 98 | // TPC: 5sigma cut for all |
99 | //if (nsTPC > 5.0) return kFALSE; | |
100 | // TOF: 3sigma below 1.5 GeV, 2sigma above | |
101 | //if (p < 1.5) maxTOF = 3.0; else maxTOF = 2.0; | |
102 | //return (nsTOF <= maxTOF); | |
bd74a0e6 | 103 | //} else { |
61f275d1 | 104 | |
bd74a0e6 | 105 | //For the moment TOF is not used - PID ONLY WITH TPC - 3 sigmas in the whole range |
61f275d1 | 106 | |
107 | // TPC: | |
92932daf | 108 | |
3da8cef7 | 109 | maxTPC = fPIDCut; |
110 | return (nsTPC <= maxTPC); | |
61f275d1 | 111 | |
bd74a0e6 | 112 | AliDebugClass(2, "Good Pion (hallelujah)"); |
113 | return kTRUE; | |
61f275d1 | 114 | } |