#include <iostream>
#include <TList.h>
#include "AliLog.h"
#include "AliESDtrack.h"
#include "AliExternalTrackParam.h"
#include "TParticle.h"
#include "AliFilteredTreeAcceptanceCuts.h"
using namespace std;
ClassImp(AliFilteredTreeAcceptanceCuts)
AliFilteredTreeAcceptanceCuts::AliFilteredTreeAcceptanceCuts(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();
}
AliFilteredTreeAcceptanceCuts::~AliFilteredTreeAcceptanceCuts()
{
}
void AliFilteredTreeAcceptanceCuts::Init()
{
SetEtaRange();
SetPhiRange();
SetPtRange();
SetMaxDCAr();
SetMaxDCAz();
}
Bool_t AliFilteredTreeAcceptanceCuts::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 AliFilteredTreeAcceptanceCuts::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 AliFilteredTreeAcceptanceCuts::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 AliFilteredTreeAcceptanceCuts::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 AliFilteredTreeAcceptanceCuts::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)
{
AliFilteredTreeAcceptanceCuts* entry = dynamic_cast<AliFilteredTreeAcceptanceCuts*>(obj);
if (entry == 0)
continue;
count++;
}
return count;
}
AliFilteredTreeAcceptanceCuts.cxx:1 AliFilteredTreeAcceptanceCuts.cxx:2 AliFilteredTreeAcceptanceCuts.cxx:3 AliFilteredTreeAcceptanceCuts.cxx:4 AliFilteredTreeAcceptanceCuts.cxx:5 AliFilteredTreeAcceptanceCuts.cxx:6 AliFilteredTreeAcceptanceCuts.cxx:7 AliFilteredTreeAcceptanceCuts.cxx:8 AliFilteredTreeAcceptanceCuts.cxx:9 AliFilteredTreeAcceptanceCuts.cxx:10 AliFilteredTreeAcceptanceCuts.cxx:11 AliFilteredTreeAcceptanceCuts.cxx:12 AliFilteredTreeAcceptanceCuts.cxx:13 AliFilteredTreeAcceptanceCuts.cxx:14 AliFilteredTreeAcceptanceCuts.cxx:15 AliFilteredTreeAcceptanceCuts.cxx:16 AliFilteredTreeAcceptanceCuts.cxx:17 AliFilteredTreeAcceptanceCuts.cxx:18 AliFilteredTreeAcceptanceCuts.cxx:19 AliFilteredTreeAcceptanceCuts.cxx:20 AliFilteredTreeAcceptanceCuts.cxx:21 AliFilteredTreeAcceptanceCuts.cxx:22 AliFilteredTreeAcceptanceCuts.cxx:23 AliFilteredTreeAcceptanceCuts.cxx:24 AliFilteredTreeAcceptanceCuts.cxx:25 AliFilteredTreeAcceptanceCuts.cxx:26 AliFilteredTreeAcceptanceCuts.cxx:27 AliFilteredTreeAcceptanceCuts.cxx:28 AliFilteredTreeAcceptanceCuts.cxx:29 AliFilteredTreeAcceptanceCuts.cxx:30 AliFilteredTreeAcceptanceCuts.cxx:31 AliFilteredTreeAcceptanceCuts.cxx:32 AliFilteredTreeAcceptanceCuts.cxx:33 AliFilteredTreeAcceptanceCuts.cxx:34 AliFilteredTreeAcceptanceCuts.cxx:35 AliFilteredTreeAcceptanceCuts.cxx:36 AliFilteredTreeAcceptanceCuts.cxx:37 AliFilteredTreeAcceptanceCuts.cxx:38 AliFilteredTreeAcceptanceCuts.cxx:39 AliFilteredTreeAcceptanceCuts.cxx:40 AliFilteredTreeAcceptanceCuts.cxx:41 AliFilteredTreeAcceptanceCuts.cxx:42 AliFilteredTreeAcceptanceCuts.cxx:43 AliFilteredTreeAcceptanceCuts.cxx:44 AliFilteredTreeAcceptanceCuts.cxx:45 AliFilteredTreeAcceptanceCuts.cxx:46 AliFilteredTreeAcceptanceCuts.cxx:47 AliFilteredTreeAcceptanceCuts.cxx:48 AliFilteredTreeAcceptanceCuts.cxx:49 AliFilteredTreeAcceptanceCuts.cxx:50 AliFilteredTreeAcceptanceCuts.cxx:51 AliFilteredTreeAcceptanceCuts.cxx:52 AliFilteredTreeAcceptanceCuts.cxx:53 AliFilteredTreeAcceptanceCuts.cxx:54 AliFilteredTreeAcceptanceCuts.cxx:55 AliFilteredTreeAcceptanceCuts.cxx:56 AliFilteredTreeAcceptanceCuts.cxx:57 AliFilteredTreeAcceptanceCuts.cxx:58 AliFilteredTreeAcceptanceCuts.cxx:59 AliFilteredTreeAcceptanceCuts.cxx:60 AliFilteredTreeAcceptanceCuts.cxx:61 AliFilteredTreeAcceptanceCuts.cxx:62 AliFilteredTreeAcceptanceCuts.cxx:63 AliFilteredTreeAcceptanceCuts.cxx:64 AliFilteredTreeAcceptanceCuts.cxx:65 AliFilteredTreeAcceptanceCuts.cxx:66 AliFilteredTreeAcceptanceCuts.cxx:67 AliFilteredTreeAcceptanceCuts.cxx:68 AliFilteredTreeAcceptanceCuts.cxx:69 AliFilteredTreeAcceptanceCuts.cxx:70 AliFilteredTreeAcceptanceCuts.cxx:71 AliFilteredTreeAcceptanceCuts.cxx:72 AliFilteredTreeAcceptanceCuts.cxx:73 AliFilteredTreeAcceptanceCuts.cxx:74 AliFilteredTreeAcceptanceCuts.cxx:75 AliFilteredTreeAcceptanceCuts.cxx:76 AliFilteredTreeAcceptanceCuts.cxx:77 AliFilteredTreeAcceptanceCuts.cxx:78 AliFilteredTreeAcceptanceCuts.cxx:79 AliFilteredTreeAcceptanceCuts.cxx:80 AliFilteredTreeAcceptanceCuts.cxx:81 AliFilteredTreeAcceptanceCuts.cxx:82 AliFilteredTreeAcceptanceCuts.cxx:83 AliFilteredTreeAcceptanceCuts.cxx:84 AliFilteredTreeAcceptanceCuts.cxx:85 AliFilteredTreeAcceptanceCuts.cxx:86 AliFilteredTreeAcceptanceCuts.cxx:87 AliFilteredTreeAcceptanceCuts.cxx:88 AliFilteredTreeAcceptanceCuts.cxx:89 AliFilteredTreeAcceptanceCuts.cxx:90 AliFilteredTreeAcceptanceCuts.cxx:91 AliFilteredTreeAcceptanceCuts.cxx:92 AliFilteredTreeAcceptanceCuts.cxx:93 AliFilteredTreeAcceptanceCuts.cxx:94 AliFilteredTreeAcceptanceCuts.cxx:95 AliFilteredTreeAcceptanceCuts.cxx:96 AliFilteredTreeAcceptanceCuts.cxx:97 AliFilteredTreeAcceptanceCuts.cxx:98 AliFilteredTreeAcceptanceCuts.cxx:99 AliFilteredTreeAcceptanceCuts.cxx:100 AliFilteredTreeAcceptanceCuts.cxx:101 AliFilteredTreeAcceptanceCuts.cxx:102 AliFilteredTreeAcceptanceCuts.cxx:103 AliFilteredTreeAcceptanceCuts.cxx:104 AliFilteredTreeAcceptanceCuts.cxx:105 AliFilteredTreeAcceptanceCuts.cxx:106 AliFilteredTreeAcceptanceCuts.cxx:107 AliFilteredTreeAcceptanceCuts.cxx:108 AliFilteredTreeAcceptanceCuts.cxx:109 AliFilteredTreeAcceptanceCuts.cxx:110 AliFilteredTreeAcceptanceCuts.cxx:111 AliFilteredTreeAcceptanceCuts.cxx:112 AliFilteredTreeAcceptanceCuts.cxx:113 AliFilteredTreeAcceptanceCuts.cxx:114 AliFilteredTreeAcceptanceCuts.cxx:115 AliFilteredTreeAcceptanceCuts.cxx:116 AliFilteredTreeAcceptanceCuts.cxx:117 AliFilteredTreeAcceptanceCuts.cxx:118 AliFilteredTreeAcceptanceCuts.cxx:119 AliFilteredTreeAcceptanceCuts.cxx:120 AliFilteredTreeAcceptanceCuts.cxx:121 AliFilteredTreeAcceptanceCuts.cxx:122 AliFilteredTreeAcceptanceCuts.cxx:123 AliFilteredTreeAcceptanceCuts.cxx:124 AliFilteredTreeAcceptanceCuts.cxx:125 AliFilteredTreeAcceptanceCuts.cxx:126 AliFilteredTreeAcceptanceCuts.cxx:127 AliFilteredTreeAcceptanceCuts.cxx:128 AliFilteredTreeAcceptanceCuts.cxx:129 AliFilteredTreeAcceptanceCuts.cxx:130 AliFilteredTreeAcceptanceCuts.cxx:131 AliFilteredTreeAcceptanceCuts.cxx:132 AliFilteredTreeAcceptanceCuts.cxx:133 AliFilteredTreeAcceptanceCuts.cxx:134 AliFilteredTreeAcceptanceCuts.cxx:135 AliFilteredTreeAcceptanceCuts.cxx:136 AliFilteredTreeAcceptanceCuts.cxx:137 AliFilteredTreeAcceptanceCuts.cxx:138 AliFilteredTreeAcceptanceCuts.cxx:139 AliFilteredTreeAcceptanceCuts.cxx:140 AliFilteredTreeAcceptanceCuts.cxx:141 AliFilteredTreeAcceptanceCuts.cxx:142 AliFilteredTreeAcceptanceCuts.cxx:143 AliFilteredTreeAcceptanceCuts.cxx:144 AliFilteredTreeAcceptanceCuts.cxx:145 AliFilteredTreeAcceptanceCuts.cxx:146 AliFilteredTreeAcceptanceCuts.cxx:147 AliFilteredTreeAcceptanceCuts.cxx:148 AliFilteredTreeAcceptanceCuts.cxx:149 AliFilteredTreeAcceptanceCuts.cxx:150 AliFilteredTreeAcceptanceCuts.cxx:151 AliFilteredTreeAcceptanceCuts.cxx:152 AliFilteredTreeAcceptanceCuts.cxx:153 AliFilteredTreeAcceptanceCuts.cxx:154 AliFilteredTreeAcceptanceCuts.cxx:155 AliFilteredTreeAcceptanceCuts.cxx:156 AliFilteredTreeAcceptanceCuts.cxx:157 AliFilteredTreeAcceptanceCuts.cxx:158 AliFilteredTreeAcceptanceCuts.cxx:159 AliFilteredTreeAcceptanceCuts.cxx:160 AliFilteredTreeAcceptanceCuts.cxx:161 AliFilteredTreeAcceptanceCuts.cxx:162 AliFilteredTreeAcceptanceCuts.cxx:163 AliFilteredTreeAcceptanceCuts.cxx:164 AliFilteredTreeAcceptanceCuts.cxx:165 AliFilteredTreeAcceptanceCuts.cxx:166 AliFilteredTreeAcceptanceCuts.cxx:167 AliFilteredTreeAcceptanceCuts.cxx:168 AliFilteredTreeAcceptanceCuts.cxx:169 AliFilteredTreeAcceptanceCuts.cxx:170 AliFilteredTreeAcceptanceCuts.cxx:171 AliFilteredTreeAcceptanceCuts.cxx:172 AliFilteredTreeAcceptanceCuts.cxx:173 AliFilteredTreeAcceptanceCuts.cxx:174 AliFilteredTreeAcceptanceCuts.cxx:175 AliFilteredTreeAcceptanceCuts.cxx:176 AliFilteredTreeAcceptanceCuts.cxx:177