]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/dielectron/macros/ConfigJpsi2eeFilter.C
d78b37fe4633b06ad880ba0105ce00c83fb11c68
[u/mrichter/AliRoot.git] / PWG3 / dielectron / macros / ConfigJpsi2eeFilter.C
1
2 void InitHistograms(AliDielectron *die);
3 void InitCF(AliDielectron* die);
4
5 void SetupTrackCuts(AliDielectron *die);
6 void SetupPairCuts(AliDielectron *die);
7
8 AliESDtrackCuts *SetupESDtrackCuts();
9
10 AliDielectron* ConfigJpsi2eeFilter()
11 {
12   //
13   // Setup the instance of AliDielectron
14   //
15   
16   // create the actual framework object
17   TString name="trackQ+Pt>0.5+60<dEdx<100";
18   AliDielectron *die =
19     new AliDielectron(Form("%s",name.Data()),
20                       Form("Track cuts: %s",name.Data()));
21   
22   // cut setup
23   SetupTrackCuts(die);
24   SetupPairCuts(die);
25   
26   //
27   // QA histogram setup
28   //
29   InitHistograms(die);
30   
31   return die;
32 }
33
34 //______________________________________________________________________________________
35 void SetupTrackCuts(AliDielectron *die)
36 {
37   //
38   // Setup the track cuts
39   //
40   
41   //ESD quality cuts
42   die->GetTrackFilter().AddCuts(SetupESDtrackCuts());
43   
44   //Pt cut
45   AliDielectronVarCuts *pt = new AliDielectronVarCuts("Pt>.5+60<dEdx<100","Pt>.6 && 60<dEdx<100");
46   pt->AddCut(AliDielectronVarManager::kPt,.6,1e30);
47   pt->AddCut(AliDielectronVarManager::kTPCsignal,60.,100.);
48   
49   die->GetTrackFilter().AddCuts(pt);
50 }
51
52 //______________________________________________________________________________________
53 void SetupPairCuts(AliDielectron *die)
54 {
55   //
56   // Setup the pair cuts
57   //
58   
59   
60   //Invarian mass selection
61   AliDielectronVarCuts *invMassCut=new AliDielectronVarCuts("InvMass","2<M<4");
62   invMassCut->AddCut(AliDielectronVarManager::kM,2.,1e30);
63 //   invMassCut->AddCut(AliDielectronVarManager::kPairType,1.);
64   die->GetPairFilter().AddCuts(invMassCut);
65
66 }
67
68 //______________________________________________________________________________________
69 AliESDtrackCuts *SetupESDtrackCuts()
70 {
71   //
72   // Setup default AliESDtrackCuts
73   //
74   AliESDtrackCuts *esdTrackCuts = new AliESDtrackCuts;
75   
76   esdTrackCuts->SetMaxDCAToVertexZ(3.0);
77   esdTrackCuts->SetMaxDCAToVertexXY(1.0); 
78   esdTrackCuts->SetRequireTPCRefit(kTRUE);
79   esdTrackCuts->SetRequireITSRefit(kTRUE);
80   esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
81   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
82   
83   esdTrackCuts->SetMinNClustersTPC(90);
84   esdTrackCuts->SetMaxChi2PerClusterTPC(4);
85
86   return esdTrackCuts;
87 }
88
89
90 //______________________________________________________________________________________
91 void InitHistograms(AliDielectron *die)
92 {
93   //
94   // Initialise the histograms
95   //
96   
97 //Setup histogram classes
98   AliDielectronHistos *histos=
99     new AliDielectronHistos(die->GetName(),
100                             die->GetTitle());
101   
102   //Initialise histogram classes
103   histos->SetReservedWords("Track;Pair");
104   
105   
106   //Track classes
107   //to fill also track info from 2nd event loop until 2
108   for (Int_t i=0; i<2; ++i){
109     histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
110   }
111   
112   //Pair classes
113   // to fill also mixed event histograms loop until 10
114   for (Int_t i=0; i<3; ++i){
115     histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
116   }
117
118   //add histograms to Track classes
119   histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",400,0,20.,AliDielectronVarManager::kPt);
120   histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",160,-0.5,159.5,AliDielectronVarManager::kNclsTPC);
121   
122   histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",500,-1.,1.,AliDielectronVarManager::kImpactParXY);
123   histos->UserHistogram("Track","dZ","dZ;dZ [cm];#tracks",600,-3.,3.,AliDielectronVarManager::kImpactParZ);
124   histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
125                         200,-1,1,200,0,6.285,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
126   
127   histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
128                         400,0.2,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
129   histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
130                         400,0.2,20.,200,-10.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
131   
132   //add histograms to Pair classes
133   histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
134                         201,-.01,4.01,AliDielectronVarManager::kM);
135   histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
136                         100,-1.,1.,AliDielectronVarManager::kY);
137   histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
138                         100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
139   
140   die->SetHistogramManager(histos);
141 }