23 #include "AliAODEvent.h" 27 #include "AliESDtrackCuts.h" 51 fEsdTrackCutsExtra1(NULL),
52 fEsdTrackCutsExtra2(NULL),
69 fkCreateTrackEff(kFALSE),
77 AliAnalysisCuts(name,
title),
134 if (filterbit == 128) {
136 fEsdTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
139 }
else if (filterbit == 256) {
142 fEsdTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
148 }
else if (filterbit == 512) {
151 fEsdTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
157 }
else if (filterbit == 1024) {
159 fEsdTrackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
162 fEsdTrackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
164 }
else if (filterbit == 2048) {
169 TFormula *f1NClustersTPCLinearPtDep =
new TFormula(
"f1NClustersTPCLinearPtDep",
"70.+30./20.*x");
170 fEsdTrackCuts->SetMinNClustersTPCPtDep(f1NClustersTPCLinearPtDep, 100);
193 fEsdTrackCutsExtra1->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
198 fEsdTrackCutsExtra2->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kNone);
215 const AliExternalTrackParam * param = track->GetConstrainedParam();
217 AliESDtrack* esdTrack =
new AliESDtrack(*track);
218 esdTrack->CopyFromVTrack(param);
278 const AliExternalTrackParam * param = track->GetConstrainedParam();
280 AliESDtrack* esdTrack =
new AliESDtrack(*track);
281 esdTrack->CopyFromVTrack(param);
299 cout <<
"error error, should not be herer!"<<endl;
321 if(!track->IsHybridGlobalConstrainedGlobal())
return kFALSE;
323 if (!(track->GetStatus() & AliVTrack::kITSrefit)) {
329 if (frac > 0.4)
return kFALSE;
341 if(track->IsGlobalConstrained()) {
355 if(!track->IsTPCConstrained())
return kFALSE;
368 if(track->GetTPCncls() < 70) {
373 AliAODVertex * vtx = track->GetProdVertex();
374 if (vtx->GetType() == AliAODVertex::kKink ) {
379 if(track->Chi2perNDF() > 36) {
383 if(track->Chi2perNDF() > 26) {
387 if(track->Chi2perNDF() > 16) {
391 if(track->Chi2perNDF() > 4) {
414 track->GetImpactParameters(dca,bCov);
415 if (bCov[0]<=0 || bCov[2]<=0) {
416 AliDebug(1,
"Estimated b resolution lower or equal zero!");
417 bCov[0]=0; bCov[2]=0;
430 if(track->TestBit(AliAODTrack::kIsDCA)){
432 dca[1]=track->ZAtDCA();
440 AliExternalTrackParam etp; etp.CopyFromVTrack(track);
451 AliAODVertex *vtx =(AliAODVertex*)(
fEvent->GetPrimaryVertex());
453 ok = etp.PropagateToDCA(vtx,fBzkG,kVeryBig,dca,covdca);
473 fhPhi =
new TH2F(Form(
"phi_%s", GetName()), Form(
"phi_%s", GetTitle()), 5, -0.5, 4.5, 32, 0, TMath::TwoPi());
481 fhEtaPhi =
new TH2F(Form(
"etaphi_%s",GetName()), Form(
"etaphi_%s", GetTitle()), 36, -0.9, 0.9, 32, 0, TMath::TwoPi());
495 fhdcaxyPt =
new TH2F(Form(
"dcaxypt_%s", GetName()), Form(
"dcaxypt_%s", GetTitle()), 20, 0, 20, 50, -2.5, 2.5);
498 fhdcazPt =
new TH2F(Form(
"dcazpt_%s", GetName()), Form(
"dcazpt_%s", GetTitle()), 20, 0, 20, 70, -3.5, 3.5);
501 fhdca =
new TH2F(Form(
"dca_%s", GetName()), Form(
"dca_%s", GetTitle()), 70, -3.5, 3.5, 50, -2.5, 2.5);
502 fhdca->SetXTitle(
"dca z");
503 fhdca->SetYTitle(
"dca xy");
517 const Double_t ptbins[23] = {0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8,
518 2.0, 2.25, 2.5, 2.75, 3.0, 3.25, 3.5, 3.75, 4.0, 4.25,
521 const Int_t bins[4] = { 12, 22, 36, 32};
522 const Double_t min[4] = { -12, 0.5, -.9, 0};
523 const Double_t max[4] = { 12, 5, .9, 2*TMath::Pi() };
525 fhTrackEff =
new THnF(Form(
"hTrackEff_%s", GetName()),
"hTrackEff", 4, bins, min, max);
537 if(
fhPhi)
fhPhi->Fill(cutIndex, track->Phi());
550 val[0] =
fEvent->GetPrimaryVertex()->GetZ();
551 val[1] = track->Pt();
552 val[2] = track->Eta();
553 val[3] = track->Phi();
581 AliAODTrack * aodtrack =
dynamic_cast<AliAODTrack*
>(object);
585 AliESDtrack * track =
dynamic_cast<AliESDtrack*
>(object);
Bool_t IsSelected(TObject *object)
void FillDCAHist(Float_t dcaz, Float_t dcaxy, AliVTrack *track)
AliESDtrackCuts * fEsdTrackCuts
void FillHistograms(Int_t cutIndex, AliVTrack *track)
Bool_t AcceptTrack(AliAODTrack *track)
AliESDtrackCuts * fEsdTrackCutsExtra2
virtual void Print(const Option_t *option="") const
TList * CreateHistograms()
~AliConversionTrackCuts()
Bool_t GetDCA(const AliAODTrack *track, Double_t dca[2])
AliESDtrackCuts * fEsdTrackCutsExtra1