AliPhysics  4c9ecbb (4c9ecbb)
makeTFile4CutsXic2eleXi.C
Go to the documentation of this file.
1 #include <Riostream.h>
2 #include <TFile.h>
4 #include <AliAODPidHF.h>
5 #include <TClonesArray.h>
6 #include <TParameter.h>
7 #include <TF1.h>
8 
10 {
11 
13 
14  RDHFXic->SetName("eleXiAnalysisCuts");
15  RDHFXic->SetTitle("Analysis cuts for eleXi analysis");
16  RDHFXic->SetUsePhysicsSelection(kTRUE);
17  RDHFXic->SetTriggerClass("");
18  //RDHFXic->SetUseInt7TriggerPP2012();
19  RDHFXic->ResetMaskAndEnableMBTrigger();
20  //RDHFXic->EnableCentralTrigger();
21  //RDHFXic->EnableSemiCentralTrigger();
22 
23  const Int_t nptbins=2;
24  RDHFXic->SetNPtBins(nptbins);
25 
26  Float_t* ptbins;
27  ptbins=new Float_t[nptbins+1];
28  ptbins[0]= 0.;
29  ptbins[1]=100.;
30  RDHFXic->SetPtBins(nptbins+1,ptbins);
31 
32  const Int_t nvars=2;
33 
34  Float_t** anacutsarray;
35  anacutsarray=new Float_t*[nvars];
36  for(Int_t ic=0;ic<nvars;ic++)
37  {
38  anacutsarray[ic]=new Float_t[nptbins];
39  }
40 
41  for(Int_t ipt2=0;ipt2<nptbins;ipt2++)
42  {
43  anacutsarray[ 0][ipt2]=10.; // Upper limit on Inv Mass
44  anacutsarray[ 1][ipt2]=0.; // Lower limit on cos(Opening angle)
45  }
46 
47  RDHFXic->SetCuts(nvars,nptbins,anacutsarray);
48 
49  RDHFXic->SetUsePID(kTRUE);
51  AliAODPidHF* pidObj=new AliAODPidHF();
52  //used in kNSigma
53  Double_t sigmaspi[5]={3.,0.,0.,3.,0.};
54  pidObj->SetSigma(sigmaspi);
55  pidObj->SetTPC(kTRUE);
56  pidObj->SetTOF(kTRUE);
57  pidObj->SetMatch(1);
58  //used in kNSigmaCombinedCuts
59  RDHFXic->SetSigmaElectronTPCRange(-0.5,3.0);
60  RDHFXic->SetSigmaElectronTOFRange(-3.0,3.0);
61  //RDHFXic->SetSigmaElectronTPCRange(-99999.,99999.);
63  //used both in kNsigma and kNSigmacustomizedcuts
64  RDHFXic->SetPidHF(pidObj);
65  RDHFXic->SetExcludePionTPC(kFALSE);
66  RDHFXic->SetExcludeProtonTPC(kFALSE);
67  RDHFXic->SetExcludeKaonTPC(kFALSE);
68  RDHFXic->SetExcludenSigmaPionTPC(3.0);
69  RDHFXic->SetExcludenSigmaProtonTPC(3.0);
70  RDHFXic->SetExcludenSigmaKaonTPC(3.0);
71  //RDHFXic->SetBachelorType(0);//0: electron, 2: pion, 3: kaon, 4: proton (used in PID)
72 
73  RDHFXic->SetMaxVtxZ(10.);
74 
75  RDHFXic->SetProdUseAODFilterBit(kTRUE);
76  RDHFXic->SetProdTrackTPCNclsPIDMin(80);//could not find in esdtrackcutsw
77  RDHFXic->SetProdTrackTPCNclsRatioMin(0.6);//could not find in esdtrackcutsw
78 
79  AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
80  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
81  esdTrackCuts->SetRequireTPCRefit(kTRUE);
82  esdTrackCuts->SetMinNClustersTPC(100);
83  //esdTrackCuts->SetMinNCrossedRowsTPC(70);
84  //esdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
85  esdTrackCuts->SetRequireITSRefit(kTRUE);
86  esdTrackCuts->SetMinNClustersITS(4);
87  esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth);//kBoth
88  esdTrackCuts->SetMinDCAToVertexXY(0.);
89  esdTrackCuts->SetEtaRange(-0.6,0.6);
90  esdTrackCuts->SetPtRange(0.5,1.e10);
91  esdTrackCuts->SetMaxDCAToVertexXY(1.0);
92  esdTrackCuts->SetMaxDCAToVertexZ(2.0);
93  esdTrackCuts->SetDCAToVertex2D(kTRUE);
94  esdTrackCuts->SetMaxChi2PerClusterITS(36);
95  RDHFXic->AddTrackCuts(esdTrackCuts);
96 
97 
98  RDHFXic->SetProdMassTolLambda(0.0075);
99  RDHFXic->SetProdMassTolXi(0.015);
100  RDHFXic->SetProdMassRejOmega(0.000);
101  RDHFXic->SetProdRfidMinV0(2.67);
102  RDHFXic->SetProdRfidMaxV0(9000.);
103  RDHFXic->SetProdRfidMinXi(0.38);
104  RDHFXic->SetProdRfidMaxXi(9000.);
105  RDHFXic->SetProdCascProperDecayLengthMax(999999.);
106  RDHFXic->SetProdDcaXiDaughtersMax(1.68);
107  RDHFXic->SetProdDcaV0DaughtersMax(1.18);
108  RDHFXic->SetProdDcaBachToPrimVertexMin(0.0204);
109  RDHFXic->SetProdDcaV0ToPrimVertexMin(0.03);
110  RDHFXic->SetProdDcaV0PrToPrimVertexMin(0.073);
111  RDHFXic->SetProdDcaV0PiToPrimVertexMin(0.073);
112  RDHFXic->SetProdXiCosineOfPoiningAngleMin(0.983);
113  RDHFXic->SetProdV0CosineOfPoiningAngleXiMin(0.9826);
114  RDHFXic->SetProdCascNTPCClustersMin(0.);
115 
116  RDHFXic->SetUseCascadePID(kTRUE);
117  AliAODPidHF* pidObjcascpi=new AliAODPidHF();
118  Double_t sigmascascpi[5]={4.,0.,0.,0.,0.};
119  pidObjcascpi->SetSigma(sigmascascpi);
120  pidObjcascpi->SetTPC(kTRUE);
121  RDHFXic->SetPidCascPi(pidObjcascpi);
122 
123  AliAODPidHF* pidObjcascpr=new AliAODPidHF();
124  Double_t sigmascascpr[5]={4.,0.,0.,0.,0.};
125  pidObjcascpr->SetSigma(sigmascascpr);
126  pidObjcascpr->SetTPC(kTRUE);
127  RDHFXic->SetPidCascPr(pidObjcascpr);
128 
129  cout<<"This is the (anal) object I'm going to save:"<<endl;
130  RDHFXic->PrintAll();
131  TFile* fout=new TFile("eleXiCuts.root","RECREATE");
132  fout->cd();
133  RDHFXic->Write();
134  fout->Close();
135  delete fout;
136 
137 }
void SetNPtBins(Int_t nptBins)
Definition: AliRDHFCuts.h:391
double Double_t
Definition: External.C:58
void SetMaxVtxZ(Float_t z=1e6)
Definition: AliRDHFCuts.h:61
void makeInputAliAnalysisTaskSEXic2eleXi()
void SetUsePhysicsSelection(Bool_t use=kTRUE)
Definition: AliRDHFCuts.h:351
void SetPidHF(AliAODPidHF *pidObj)
see enum below
Definition: AliRDHFCuts.h:215
void SetTOF(Bool_t tof)
Definition: AliAODPidHF.h:95
int Int_t
Definition: External.C:63
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void ResetMaskAndEnableMBTrigger()
Definition: AliRDHFCuts.h:77
float Float_t
Definition: External.C:68
void SetSigma(Double_t *sigma)
Definition: AliAODPidHF.h:39
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:209
virtual void PrintAll() const
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void SetMatch(Int_t match)
Definition: AliAODPidHF.h:98
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:207
void SetTPC(Bool_t tpc)
Definition: AliAODPidHF.h:94
TFile * fout
input train file
void SetTriggerClass(TString trclass0, TString trclass1="")
Definition: AliRDHFCuts.h:197
Int_t nptbins