]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/macros/lego_train/RsnQualityCut.C
Updated macros for lego_train phi analysis (mvala)
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / lego_train / RsnQualityCut.C
1 AliESDtrackCuts *RsnQualityCut(TString cut="pp_LHC11_p4_120") {
2
3
4    // For RSN analysis, we select Primaries
5    Bool_t selPrimaries = kTRUE;
6
7    Printf("RsnQualityCut : %s",cut.Data());
8    AliESDtrackCuts *esdTrackCuts = 0;
9    if (cut.Contains("pp_LHC11a_p4_AOD113")) {
10       //esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(Bool_t selPrimaries=kTRUE, Int_t clusterCut=1);
11       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1);
12       if (!cut.CompareTo("pp_LHC11a_p4_AOD113_120")) esdTrackCuts->SetMinNCrossedRowsTPC(120);
13       if (!cut.CompareTo("pp_LHC11a_p4_AOD113_70")) esdTrackCuts->SetMinNCrossedRowsTPC(70);
14
15       esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
16       esdTrackCuts->SetMaxChi2PerClusterITS(36);
17       esdTrackCuts->SetMaxFractionSharedTPCClusters(0.4);
18       esdTrackCuts->SetMaxChi2TPCConstrainedGlobal(36);
19       esdTrackCuts->SetEtaRange(-0.9,0.9);
20       esdTrackCuts->SetPtRange(0.15, 1e10);
21
22    } else if (cut.Contains("pp_LHC11a_p3_AOD067_bit4")) {
23       //AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(Bool_t selPrimaries=kTRUE, Int_t clusterCut=0);
24       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE,0);
25       // additional to std cuts
26       esdTrackCuts->SetMaxDCAToVertexXY(2.4);
27       esdTrackCuts->SetMaxDCAToVertexZ(3.2);
28       esdTrackCuts->SetDCAToVertex2D(kTRUE);
29
30    } else if (cut.Contains("pp_LHC11a_p3_AOD067_bit5")) {
31       //AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(Bool_t selPrimaries=kTRUE, Int_t clusterCut=0);
32       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,0);
33    } else if (cut.Contains("STD2010_PRIMARY")) {
34       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,0);
35    } else if (cut.Contains("STD2010_SECONDARY")) {
36       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE,0);
37    } else if (cut.Contains("STD2011_PRIMARY")) {
38       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,1);
39    } else if (cut.Contains("STD2011_SECONDARY")) {
40       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE,1);
41    } else if (cut.Contains("STD2011_PRIMARY_NCLSTTPC")) {
42       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE,0);
43    } else if (cut.Contains("STD2011_SECONDARY_NCLSTTPC")) {
44       esdTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE,0);
45    }
46
47    if (cut.BeginsWith("STD")) {
48       // DCAXY: 3.5 - 14 sigma
49       if (cut.Contains("DCAXY7S")) esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.035/pt^1.01");
50       else if (cut.Contains("DCAXY6S")) esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0156+0.03/pt^1.01");
51       else if (cut.Contains("DCAXY5S")) esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.013+0.025/pt^1.01");
52
53       // DCAZ: 0.1 - 2 cm
54       if (cut.Contains("DCAZ20")) esdTrackCuts->SetMaxDCAToVertexZ(2);
55       else if (cut.Contains("DCAZ01")) esdTrackCuts->SetMaxDCAToVertexZ(0.1);
56       // MinNClustersTPC: 50-70
57       if (cut.Contains("NCLSTTPC50")) esdTrackCuts->SetMinNClustersTPC(50);
58       else if (cut.Contains("NCLSTTPC70")) esdTrackCuts->SetMinNClustersTPC(70);
59       else if (cut.Contains("NCLSTTPC80")) esdTrackCuts->SetMinNClustersTPC(80);
60       // Chi2 in TPC: 4-6
61       if (cut.Contains("CHI2TPC04")) esdTrackCuts->SetMaxChi2PerClusterITS(4);
62       else if (cut.Contains("CHI2TPC6")) esdTrackCuts->SetMaxChi2PerClusterITS(6);
63       // Chi2 in ITS: 36-100
64       if (cut.Contains("CHI2ITS036")) esdTrackCuts->SetMaxChi2PerClusterITS(36);
65       else if (cut.Contains("CHI2ITS100")) esdTrackCuts->SetMaxChi2PerClusterITS(100);
66    }
67
68    return esdTrackCuts;
69 }