#include <iostream>
#include <TList.h>
#include "AliLog.h"
#include "AliESDtrack.h"
#include "AliExternalTrackParam.h"
#include "TParticle.h"
#include "AlidNdPtAcceptanceCuts.h"
using namespace std;
ClassImp(AlidNdPtAcceptanceCuts)
AlidNdPtAcceptanceCuts::AlidNdPtAcceptanceCuts(const Char_t* name,const Char_t *title) :
AliAnalysisCuts(name, title)
, fMinEta(0)
, fMaxEta(0)
, fMinPhi(0)
, fMaxPhi(0)
, fMinPt(0)
, fMaxPt(0)
, fExcludeMinEta(0)
, fExcludeMaxEta(0)
, fExcludeMinPhi(0)
, fExcludeMaxPhi(0)
, fExcludeMinEta2(0)
, fExcludeMaxEta2(0)
, fExcludeMinPhi2(0)
, fExcludeMaxPhi2(0)
, fCheckRange(kFALSE)
, fMaxDCAr(0)
, fMaxDCAz(0)
{
Init();
}
AlidNdPtAcceptanceCuts::~AlidNdPtAcceptanceCuts()
{
}
void AlidNdPtAcceptanceCuts::Init()
{
SetEtaRange();
SetPhiRange();
SetPtRange();
SetMaxDCAr();
SetMaxDCAz();
}
Bool_t AlidNdPtAcceptanceCuts::AcceptTrack(AliESDtrack *track)
{
if(!track) return kFALSE;
Float_t eta = track->Eta();
Float_t phi = track->Phi();
Float_t pt = track->Pt();
if(eta < fMinEta) return kFALSE;
if(eta > fMaxEta) return kFALSE;
if(phi < fMinPhi) return kFALSE;
if(phi > fMaxPhi) return kFALSE;
if(pt < fMinPt) return kFALSE;
if(pt > fMaxPt) return kFALSE;
return kTRUE;
}
Bool_t AlidNdPtAcceptanceCuts::AcceptTrackLocalTPC(AliESDtrack *track)
{
if(!track) return kFALSE;
const AliExternalTrackParam *innerParam = track->GetInnerParam();
if(!innerParam) return kFALSE;
Float_t eta = track->Eta();
Float_t phi = TMath::ATan2(innerParam->Py(),innerParam->Px());
if (fCheckRange) {
if ((eta > fExcludeMinEta) && (eta < fExcludeMaxEta) && (phi > fExcludeMinPhi) && (phi < fExcludeMaxPhi)) { return kFALSE; }
if ((eta > fExcludeMinEta2) && (eta < fExcludeMaxEta2) && (phi > fExcludeMinPhi2) && (phi < fExcludeMaxPhi2)) { return kFALSE; }
}
return kTRUE;
}
Bool_t AlidNdPtAcceptanceCuts::AcceptTrack(AliExternalTrackParam *track)
{
if(!track) return kFALSE;
Float_t eta = track->Eta();
Float_t phi = track->Phi();
Float_t pt = track->Pt();
if(eta < fMinEta) return kFALSE;
if(eta > fMaxEta) return kFALSE;
if(phi < fMinPhi) return kFALSE;
if(phi > fMaxPhi) return kFALSE;
if(pt < fMinPt) return kFALSE;
if(pt > fMaxPt) return kFALSE;
return kTRUE;
}
Bool_t AlidNdPtAcceptanceCuts::AcceptTrack(TParticle *particle)
{
if(!particle) return kFALSE;
Float_t eta = particle->Eta();
Float_t phi = particle->Phi();
Float_t pt = particle->Pt();
if(eta < fMinEta) return kFALSE;
if(eta > fMaxEta) return kFALSE;
if(phi < fMinPhi) return kFALSE;
if(phi > fMaxPhi) return kFALSE;
if(pt < fMinPt) return kFALSE;
if(pt > fMaxPt) return kFALSE;
return kTRUE;
}
Long64_t AlidNdPtAcceptanceCuts::Merge(TCollection* list)
{
if (!list)
return 0;
if (list->IsEmpty())
return 1;
TIterator* iter = list->MakeIterator();
TObject* obj = 0;
Int_t count=0;
while((obj = iter->Next()) != 0)
{
AlidNdPtAcceptanceCuts* entry = dynamic_cast<AlidNdPtAcceptanceCuts*>(obj);
if (entry == 0)
continue;
count++;
}
return count;
}
AlidNdPtAcceptanceCuts.cxx:1 AlidNdPtAcceptanceCuts.cxx:2 AlidNdPtAcceptanceCuts.cxx:3 AlidNdPtAcceptanceCuts.cxx:4 AlidNdPtAcceptanceCuts.cxx:5 AlidNdPtAcceptanceCuts.cxx:6 AlidNdPtAcceptanceCuts.cxx:7 AlidNdPtAcceptanceCuts.cxx:8 AlidNdPtAcceptanceCuts.cxx:9 AlidNdPtAcceptanceCuts.cxx:10 AlidNdPtAcceptanceCuts.cxx:11 AlidNdPtAcceptanceCuts.cxx:12 AlidNdPtAcceptanceCuts.cxx:13 AlidNdPtAcceptanceCuts.cxx:14 AlidNdPtAcceptanceCuts.cxx:15 AlidNdPtAcceptanceCuts.cxx:16 AlidNdPtAcceptanceCuts.cxx:17 AlidNdPtAcceptanceCuts.cxx:18 AlidNdPtAcceptanceCuts.cxx:19 AlidNdPtAcceptanceCuts.cxx:20 AlidNdPtAcceptanceCuts.cxx:21 AlidNdPtAcceptanceCuts.cxx:22 AlidNdPtAcceptanceCuts.cxx:23 AlidNdPtAcceptanceCuts.cxx:24 AlidNdPtAcceptanceCuts.cxx:25 AlidNdPtAcceptanceCuts.cxx:26 AlidNdPtAcceptanceCuts.cxx:27 AlidNdPtAcceptanceCuts.cxx:28 AlidNdPtAcceptanceCuts.cxx:29 AlidNdPtAcceptanceCuts.cxx:30 AlidNdPtAcceptanceCuts.cxx:31 AlidNdPtAcceptanceCuts.cxx:32 AlidNdPtAcceptanceCuts.cxx:33 AlidNdPtAcceptanceCuts.cxx:34 AlidNdPtAcceptanceCuts.cxx:35 AlidNdPtAcceptanceCuts.cxx:36 AlidNdPtAcceptanceCuts.cxx:37 AlidNdPtAcceptanceCuts.cxx:38 AlidNdPtAcceptanceCuts.cxx:39 AlidNdPtAcceptanceCuts.cxx:40 AlidNdPtAcceptanceCuts.cxx:41 AlidNdPtAcceptanceCuts.cxx:42 AlidNdPtAcceptanceCuts.cxx:43 AlidNdPtAcceptanceCuts.cxx:44 AlidNdPtAcceptanceCuts.cxx:45 AlidNdPtAcceptanceCuts.cxx:46 AlidNdPtAcceptanceCuts.cxx:47 AlidNdPtAcceptanceCuts.cxx:48 AlidNdPtAcceptanceCuts.cxx:49 AlidNdPtAcceptanceCuts.cxx:50 AlidNdPtAcceptanceCuts.cxx:51 AlidNdPtAcceptanceCuts.cxx:52 AlidNdPtAcceptanceCuts.cxx:53 AlidNdPtAcceptanceCuts.cxx:54 AlidNdPtAcceptanceCuts.cxx:55 AlidNdPtAcceptanceCuts.cxx:56 AlidNdPtAcceptanceCuts.cxx:57 AlidNdPtAcceptanceCuts.cxx:58 AlidNdPtAcceptanceCuts.cxx:59 AlidNdPtAcceptanceCuts.cxx:60 AlidNdPtAcceptanceCuts.cxx:61 AlidNdPtAcceptanceCuts.cxx:62 AlidNdPtAcceptanceCuts.cxx:63 AlidNdPtAcceptanceCuts.cxx:64 AlidNdPtAcceptanceCuts.cxx:65 AlidNdPtAcceptanceCuts.cxx:66 AlidNdPtAcceptanceCuts.cxx:67 AlidNdPtAcceptanceCuts.cxx:68 AlidNdPtAcceptanceCuts.cxx:69 AlidNdPtAcceptanceCuts.cxx:70 AlidNdPtAcceptanceCuts.cxx:71 AlidNdPtAcceptanceCuts.cxx:72 AlidNdPtAcceptanceCuts.cxx:73 AlidNdPtAcceptanceCuts.cxx:74 AlidNdPtAcceptanceCuts.cxx:75 AlidNdPtAcceptanceCuts.cxx:76 AlidNdPtAcceptanceCuts.cxx:77 AlidNdPtAcceptanceCuts.cxx:78 AlidNdPtAcceptanceCuts.cxx:79 AlidNdPtAcceptanceCuts.cxx:80 AlidNdPtAcceptanceCuts.cxx:81 AlidNdPtAcceptanceCuts.cxx:82 AlidNdPtAcceptanceCuts.cxx:83 AlidNdPtAcceptanceCuts.cxx:84 AlidNdPtAcceptanceCuts.cxx:85 AlidNdPtAcceptanceCuts.cxx:86 AlidNdPtAcceptanceCuts.cxx:87 AlidNdPtAcceptanceCuts.cxx:88 AlidNdPtAcceptanceCuts.cxx:89 AlidNdPtAcceptanceCuts.cxx:90 AlidNdPtAcceptanceCuts.cxx:91 AlidNdPtAcceptanceCuts.cxx:92 AlidNdPtAcceptanceCuts.cxx:93 AlidNdPtAcceptanceCuts.cxx:94 AlidNdPtAcceptanceCuts.cxx:95 AlidNdPtAcceptanceCuts.cxx:96 AlidNdPtAcceptanceCuts.cxx:97 AlidNdPtAcceptanceCuts.cxx:98 AlidNdPtAcceptanceCuts.cxx:99 AlidNdPtAcceptanceCuts.cxx:100 AlidNdPtAcceptanceCuts.cxx:101 AlidNdPtAcceptanceCuts.cxx:102 AlidNdPtAcceptanceCuts.cxx:103 AlidNdPtAcceptanceCuts.cxx:104 AlidNdPtAcceptanceCuts.cxx:105 AlidNdPtAcceptanceCuts.cxx:106 AlidNdPtAcceptanceCuts.cxx:107 AlidNdPtAcceptanceCuts.cxx:108 AlidNdPtAcceptanceCuts.cxx:109 AlidNdPtAcceptanceCuts.cxx:110 AlidNdPtAcceptanceCuts.cxx:111 AlidNdPtAcceptanceCuts.cxx:112 AlidNdPtAcceptanceCuts.cxx:113 AlidNdPtAcceptanceCuts.cxx:114 AlidNdPtAcceptanceCuts.cxx:115 AlidNdPtAcceptanceCuts.cxx:116 AlidNdPtAcceptanceCuts.cxx:117 AlidNdPtAcceptanceCuts.cxx:118 AlidNdPtAcceptanceCuts.cxx:119 AlidNdPtAcceptanceCuts.cxx:120 AlidNdPtAcceptanceCuts.cxx:121 AlidNdPtAcceptanceCuts.cxx:122 AlidNdPtAcceptanceCuts.cxx:123 AlidNdPtAcceptanceCuts.cxx:124 AlidNdPtAcceptanceCuts.cxx:125 AlidNdPtAcceptanceCuts.cxx:126 AlidNdPtAcceptanceCuts.cxx:127 AlidNdPtAcceptanceCuts.cxx:128 AlidNdPtAcceptanceCuts.cxx:129 AlidNdPtAcceptanceCuts.cxx:130 AlidNdPtAcceptanceCuts.cxx:131 AlidNdPtAcceptanceCuts.cxx:132 AlidNdPtAcceptanceCuts.cxx:133 AlidNdPtAcceptanceCuts.cxx:134 AlidNdPtAcceptanceCuts.cxx:135 AlidNdPtAcceptanceCuts.cxx:136 AlidNdPtAcceptanceCuts.cxx:137 AlidNdPtAcceptanceCuts.cxx:138 AlidNdPtAcceptanceCuts.cxx:139 AlidNdPtAcceptanceCuts.cxx:140 AlidNdPtAcceptanceCuts.cxx:141 AlidNdPtAcceptanceCuts.cxx:142 AlidNdPtAcceptanceCuts.cxx:143 AlidNdPtAcceptanceCuts.cxx:144 AlidNdPtAcceptanceCuts.cxx:145 AlidNdPtAcceptanceCuts.cxx:146 AlidNdPtAcceptanceCuts.cxx:147 AlidNdPtAcceptanceCuts.cxx:148 AlidNdPtAcceptanceCuts.cxx:149 AlidNdPtAcceptanceCuts.cxx:150 AlidNdPtAcceptanceCuts.cxx:151 AlidNdPtAcceptanceCuts.cxx:152 AlidNdPtAcceptanceCuts.cxx:153 AlidNdPtAcceptanceCuts.cxx:154 AlidNdPtAcceptanceCuts.cxx:155 AlidNdPtAcceptanceCuts.cxx:156 AlidNdPtAcceptanceCuts.cxx:157 AlidNdPtAcceptanceCuts.cxx:158 AlidNdPtAcceptanceCuts.cxx:159 AlidNdPtAcceptanceCuts.cxx:160 AlidNdPtAcceptanceCuts.cxx:161 AlidNdPtAcceptanceCuts.cxx:162 AlidNdPtAcceptanceCuts.cxx:163 AlidNdPtAcceptanceCuts.cxx:164 AlidNdPtAcceptanceCuts.cxx:165 AlidNdPtAcceptanceCuts.cxx:166 AlidNdPtAcceptanceCuts.cxx:167 AlidNdPtAcceptanceCuts.cxx:168 AlidNdPtAcceptanceCuts.cxx:169 AlidNdPtAcceptanceCuts.cxx:170 AlidNdPtAcceptanceCuts.cxx:171 AlidNdPtAcceptanceCuts.cxx:172 AlidNdPtAcceptanceCuts.cxx:173 AlidNdPtAcceptanceCuts.cxx:174 AlidNdPtAcceptanceCuts.cxx:175 AlidNdPtAcceptanceCuts.cxx:176 AlidNdPtAcceptanceCuts.cxx:177