#include "AliAnaConvIsolation.h"
#include "AliAODTrack.h"
#include "TObject.h"
#include "TClonesArray.h"
#include "TH2F.h"
#include "TList.h"
#include "AliAODConversionPhoton.h"
#include <iostream>
using namespace std;
ClassImp(AliAnaConvIsolation)
AliAnaConvIsolation::AliAnaConvIsolation () : TObject(),
fIsoCurve(NULL),
fCurveFunction("0.1*x"),
fConeSize(0),
fMinPt(0.1),
fMaxPtThreshold(0),
fSumPtThreshold(0),
fMaxPtFraction(0),
fSumPtFraction(0)
{
}
AliAnaConvIsolation::AliAnaConvIsolation(Float_t coneSize, Float_t maxPtThreshold, Float_t sumPtThreshold, Float_t maxPtFraction, Float_t sumPtFraction) :
TObject(),
fIsoCurve(NULL),
fCurveFunction("0.1*x"),
fConeSize(coneSize),
fMinPt(0.1),
fMaxPtThreshold(maxPtThreshold),
fSumPtThreshold(sumPtThreshold),
fMaxPtFraction(maxPtFraction),
fSumPtFraction(sumPtFraction)
{
fIsoCurve = new TF1("Isolation_curve", fCurveFunction.Data(), 0, 100);
}
AliAnaConvIsolation::~AliAnaConvIsolation() {
}
Bool_t AliAnaConvIsolation::IsLeading(AliAODConversionParticle * particle, const TObjArray * tracks, const TObjArray * aodParticles) {
for(Int_t ip = 0; ip < aodParticles->GetEntriesFast(); ip++) {
AliAODConversionParticle * oparticle = static_cast<AliAODConversionParticle*>(aodParticles->UncheckedAt(ip));
if(oparticle == particle) continue;
if(oparticle->Pt() > particle->Pt() &&
IsInCone(particle->Eta() - oparticle->Eta(),
particle->Phi() - oparticle->Phi(),
fConeSize) ) {
return kFALSE;
}
}
for(Int_t it = 0; it < tracks->GetEntriesFast(); it++) {
AliAODTrack * track = static_cast<AliAODTrack*>(tracks->UncheckedAt(it));
if(track->Pt() > particle->Pt() &&
IsInCone(particle->Eta() - track->Eta(), particle->Phi() - track->Phi(), fConeSize) ) return kFALSE;
}
return kTRUE;
}
Int_t AliAnaConvIsolation::IsLeading(const AliAODConversionParticle * particle, const TObjArray * tracks, const Int_t tIDs[4]) const {
Bool_t leadingEvent = kTRUE;
Float_t tPt = particle->Pt();
for(int it = 0; it < tracks->GetEntriesFast(); it++) {
AliVTrack * track = static_cast<AliVTrack*>(tracks->UncheckedAt(it));
Int_t tid = track->GetID();
if(tid == tIDs[0] || tid == tIDs[1] || tid == tIDs[2] || tid == tIDs[3]) continue;
if(track->Pt() > tPt) {
if(IsInCone(particle->Eta() - track->Eta(), particle->Phi() - track->Phi(), 0.8)) return 0;
leadingEvent = kFALSE;
}
}
if(leadingEvent) {
return 2;
} else {
return 1;
}
return 0;
}
Bool_t AliAnaConvIsolation::IsIsolated(AliAODConversionPhoton * particle, const TClonesArray * const tracks, const Int_t nSpawn, const Int_t * const spawn, Bool_t &leading) {
leading = kTRUE;
Float_t ptSum = 0.0;
Float_t ptMax = 0.0;
for(int it = 0; it < tracks->GetEntriesFast(); it++) {
AliAODTrack * track = dynamic_cast<AliAODTrack*>(tracks->At(it));
if (track) {
if(track->Pt() < fMinPt) continue;
if(nSpawn && spawn) { ;}
if ( IsInCone(particle->Eta() - track->Eta(), particle->Phi() - track->Phi(), fConeSize) ) {
ptSum += track->Pt();
if(track->Pt() > ptMax) ptMax = track->Pt();
if(track->Pt() > particle->Pt()) leading = kFALSE;
}
} else {
cout << "Bad track"<<endl;
}
}
Bool_t isolated = EvaluateIsolationCriteria( ptSum, particle->Pt());
return isolated;
}
Bool_t AliAnaConvIsolation::IsIsolated(const AliAODConversionPhoton * const particle, const TClonesArray * const tracks, Bool_t &leading ) {
leading = kTRUE;
Float_t ptSum = 0.0;
Float_t ptMax = 0.0;
for(int it = 0; it < tracks->GetEntriesFast(); it++) {
AliAODTrack * track = dynamic_cast<AliAODTrack*>(tracks->At(it));
if (track) {
if(track->Pt() < fMinPt) continue;
if ( (track->GetID() == particle->GetTrackLabel(0)) || track->GetID() == particle->GetTrackLabel(1) )
continue;
if ( IsInCone(particle->Eta() - track->Eta(), particle->Phi() - track->Phi(), fConeSize) ) {
ptSum += track->Pt();
if(track->Pt() > ptMax) ptMax = track->Pt();
if(track->Pt() > particle->Pt()) leading = kFALSE;
}
} else {
cout << "Bad track"<<endl;
}
}
Bool_t isolated = EvaluateIsolationCriteria( ptSum, particle->Pt());
return isolated;
}
Bool_t AliAnaConvIsolation::EvaluateIsolationCriteria(Float_t ptSum, Float_t pt) const {
return (ptSum < fIsoCurve->Eval(pt));
}
AliAnaConvIsolation.cxx:1 AliAnaConvIsolation.cxx:2 AliAnaConvIsolation.cxx:3 AliAnaConvIsolation.cxx:4 AliAnaConvIsolation.cxx:5 AliAnaConvIsolation.cxx:6 AliAnaConvIsolation.cxx:7 AliAnaConvIsolation.cxx:8 AliAnaConvIsolation.cxx:9 AliAnaConvIsolation.cxx:10 AliAnaConvIsolation.cxx:11 AliAnaConvIsolation.cxx:12 AliAnaConvIsolation.cxx:13 AliAnaConvIsolation.cxx:14 AliAnaConvIsolation.cxx:15 AliAnaConvIsolation.cxx:16 AliAnaConvIsolation.cxx:17 AliAnaConvIsolation.cxx:18 AliAnaConvIsolation.cxx:19 AliAnaConvIsolation.cxx:20 AliAnaConvIsolation.cxx:21 AliAnaConvIsolation.cxx:22 AliAnaConvIsolation.cxx:23 AliAnaConvIsolation.cxx:24 AliAnaConvIsolation.cxx:25 AliAnaConvIsolation.cxx:26 AliAnaConvIsolation.cxx:27 AliAnaConvIsolation.cxx:28 AliAnaConvIsolation.cxx:29 AliAnaConvIsolation.cxx:30 AliAnaConvIsolation.cxx:31 AliAnaConvIsolation.cxx:32 AliAnaConvIsolation.cxx:33 AliAnaConvIsolation.cxx:34 AliAnaConvIsolation.cxx:35 AliAnaConvIsolation.cxx:36 AliAnaConvIsolation.cxx:37 AliAnaConvIsolation.cxx:38 AliAnaConvIsolation.cxx:39 AliAnaConvIsolation.cxx:40 AliAnaConvIsolation.cxx:41 AliAnaConvIsolation.cxx:42 AliAnaConvIsolation.cxx:43 AliAnaConvIsolation.cxx:44 AliAnaConvIsolation.cxx:45 AliAnaConvIsolation.cxx:46 AliAnaConvIsolation.cxx:47 AliAnaConvIsolation.cxx:48 AliAnaConvIsolation.cxx:49 AliAnaConvIsolation.cxx:50 AliAnaConvIsolation.cxx:51 AliAnaConvIsolation.cxx:52 AliAnaConvIsolation.cxx:53 AliAnaConvIsolation.cxx:54 AliAnaConvIsolation.cxx:55 AliAnaConvIsolation.cxx:56 AliAnaConvIsolation.cxx:57 AliAnaConvIsolation.cxx:58 AliAnaConvIsolation.cxx:59 AliAnaConvIsolation.cxx:60 AliAnaConvIsolation.cxx:61 AliAnaConvIsolation.cxx:62 AliAnaConvIsolation.cxx:63 AliAnaConvIsolation.cxx:64 AliAnaConvIsolation.cxx:65 AliAnaConvIsolation.cxx:66 AliAnaConvIsolation.cxx:67 AliAnaConvIsolation.cxx:68 AliAnaConvIsolation.cxx:69 AliAnaConvIsolation.cxx:70 AliAnaConvIsolation.cxx:71 AliAnaConvIsolation.cxx:72 AliAnaConvIsolation.cxx:73 AliAnaConvIsolation.cxx:74 AliAnaConvIsolation.cxx:75 AliAnaConvIsolation.cxx:76 AliAnaConvIsolation.cxx:77 AliAnaConvIsolation.cxx:78 AliAnaConvIsolation.cxx:79 AliAnaConvIsolation.cxx:80 AliAnaConvIsolation.cxx:81 AliAnaConvIsolation.cxx:82 AliAnaConvIsolation.cxx:83 AliAnaConvIsolation.cxx:84 AliAnaConvIsolation.cxx:85 AliAnaConvIsolation.cxx:86 AliAnaConvIsolation.cxx:87 AliAnaConvIsolation.cxx:88 AliAnaConvIsolation.cxx:89 AliAnaConvIsolation.cxx:90 AliAnaConvIsolation.cxx:91 AliAnaConvIsolation.cxx:92 AliAnaConvIsolation.cxx:93 AliAnaConvIsolation.cxx:94 AliAnaConvIsolation.cxx:95 AliAnaConvIsolation.cxx:96 AliAnaConvIsolation.cxx:97 AliAnaConvIsolation.cxx:98 AliAnaConvIsolation.cxx:99 AliAnaConvIsolation.cxx:100 AliAnaConvIsolation.cxx:101 AliAnaConvIsolation.cxx:102 AliAnaConvIsolation.cxx:103 AliAnaConvIsolation.cxx:104 AliAnaConvIsolation.cxx:105 AliAnaConvIsolation.cxx:106 AliAnaConvIsolation.cxx:107 AliAnaConvIsolation.cxx:108 AliAnaConvIsolation.cxx:109 AliAnaConvIsolation.cxx:110 AliAnaConvIsolation.cxx:111 AliAnaConvIsolation.cxx:112 AliAnaConvIsolation.cxx:113 AliAnaConvIsolation.cxx:114 AliAnaConvIsolation.cxx:115 AliAnaConvIsolation.cxx:116 AliAnaConvIsolation.cxx:117 AliAnaConvIsolation.cxx:118 AliAnaConvIsolation.cxx:119 AliAnaConvIsolation.cxx:120 AliAnaConvIsolation.cxx:121 AliAnaConvIsolation.cxx:122 AliAnaConvIsolation.cxx:123 AliAnaConvIsolation.cxx:124 AliAnaConvIsolation.cxx:125 AliAnaConvIsolation.cxx:126 AliAnaConvIsolation.cxx:127 AliAnaConvIsolation.cxx:128 AliAnaConvIsolation.cxx:129 AliAnaConvIsolation.cxx:130 AliAnaConvIsolation.cxx:131 AliAnaConvIsolation.cxx:132 AliAnaConvIsolation.cxx:133 AliAnaConvIsolation.cxx:134 AliAnaConvIsolation.cxx:135 AliAnaConvIsolation.cxx:136 AliAnaConvIsolation.cxx:137 AliAnaConvIsolation.cxx:138 AliAnaConvIsolation.cxx:139 AliAnaConvIsolation.cxx:140 AliAnaConvIsolation.cxx:141 AliAnaConvIsolation.cxx:142 AliAnaConvIsolation.cxx:143 AliAnaConvIsolation.cxx:144 AliAnaConvIsolation.cxx:145 AliAnaConvIsolation.cxx:146 AliAnaConvIsolation.cxx:147 AliAnaConvIsolation.cxx:148 AliAnaConvIsolation.cxx:149 AliAnaConvIsolation.cxx:150 AliAnaConvIsolation.cxx:151 AliAnaConvIsolation.cxx:152 AliAnaConvIsolation.cxx:153 AliAnaConvIsolation.cxx:154 AliAnaConvIsolation.cxx:155 AliAnaConvIsolation.cxx:156 AliAnaConvIsolation.cxx:157 AliAnaConvIsolation.cxx:158 AliAnaConvIsolation.cxx:159 AliAnaConvIsolation.cxx:160 AliAnaConvIsolation.cxx:161 AliAnaConvIsolation.cxx:162 AliAnaConvIsolation.cxx:163 AliAnaConvIsolation.cxx:164 AliAnaConvIsolation.cxx:165 AliAnaConvIsolation.cxx:166 AliAnaConvIsolation.cxx:167 AliAnaConvIsolation.cxx:168 AliAnaConvIsolation.cxx:169 AliAnaConvIsolation.cxx:170 AliAnaConvIsolation.cxx:171 AliAnaConvIsolation.cxx:172 AliAnaConvIsolation.cxx:173 AliAnaConvIsolation.cxx:174 AliAnaConvIsolation.cxx:175 AliAnaConvIsolation.cxx:176 AliAnaConvIsolation.cxx:177 AliAnaConvIsolation.cxx:178 AliAnaConvIsolation.cxx:179 AliAnaConvIsolation.cxx:180 AliAnaConvIsolation.cxx:181 AliAnaConvIsolation.cxx:182 AliAnaConvIsolation.cxx:183 AliAnaConvIsolation.cxx:184 AliAnaConvIsolation.cxx:185 AliAnaConvIsolation.cxx:186 AliAnaConvIsolation.cxx:187 AliAnaConvIsolation.cxx:188 AliAnaConvIsolation.cxx:189 AliAnaConvIsolation.cxx:190 AliAnaConvIsolation.cxx:191 AliAnaConvIsolation.cxx:192 AliAnaConvIsolation.cxx:193 AliAnaConvIsolation.cxx:194 AliAnaConvIsolation.cxx:195 AliAnaConvIsolation.cxx:196 AliAnaConvIsolation.cxx:197 AliAnaConvIsolation.cxx:198 AliAnaConvIsolation.cxx:199 AliAnaConvIsolation.cxx:200 AliAnaConvIsolation.cxx:201 AliAnaConvIsolation.cxx:202 AliAnaConvIsolation.cxx:203 AliAnaConvIsolation.cxx:204 AliAnaConvIsolation.cxx:205 AliAnaConvIsolation.cxx:206 AliAnaConvIsolation.cxx:207 AliAnaConvIsolation.cxx:208 AliAnaConvIsolation.cxx:209 AliAnaConvIsolation.cxx:210 AliAnaConvIsolation.cxx:211 AliAnaConvIsolation.cxx:212 AliAnaConvIsolation.cxx:213 AliAnaConvIsolation.cxx:214 AliAnaConvIsolation.cxx:215 AliAnaConvIsolation.cxx:216 AliAnaConvIsolation.cxx:217 AliAnaConvIsolation.cxx:218 AliAnaConvIsolation.cxx:219 AliAnaConvIsolation.cxx:220 AliAnaConvIsolation.cxx:221 AliAnaConvIsolation.cxx:222 AliAnaConvIsolation.cxx:223 AliAnaConvIsolation.cxx:224 AliAnaConvIsolation.cxx:225 AliAnaConvIsolation.cxx:226 AliAnaConvIsolation.cxx:227 AliAnaConvIsolation.cxx:228 AliAnaConvIsolation.cxx:229 AliAnaConvIsolation.cxx:230 AliAnaConvIsolation.cxx:231 AliAnaConvIsolation.cxx:232 AliAnaConvIsolation.cxx:233 AliAnaConvIsolation.cxx:234 AliAnaConvIsolation.cxx:235 AliAnaConvIsolation.cxx:236 AliAnaConvIsolation.cxx:237 AliAnaConvIsolation.cxx:238 AliAnaConvIsolation.cxx:239 AliAnaConvIsolation.cxx:240 AliAnaConvIsolation.cxx:241 AliAnaConvIsolation.cxx:242 AliAnaConvIsolation.cxx:243 AliAnaConvIsolation.cxx:244 AliAnaConvIsolation.cxx:245 AliAnaConvIsolation.cxx:246 AliAnaConvIsolation.cxx:247 AliAnaConvIsolation.cxx:248 AliAnaConvIsolation.cxx:249 AliAnaConvIsolation.cxx:250 AliAnaConvIsolation.cxx:251 AliAnaConvIsolation.cxx:252 AliAnaConvIsolation.cxx:253 AliAnaConvIsolation.cxx:254 AliAnaConvIsolation.cxx:255 AliAnaConvIsolation.cxx:256 AliAnaConvIsolation.cxx:257 AliAnaConvIsolation.cxx:258 AliAnaConvIsolation.cxx:259 AliAnaConvIsolation.cxx:260 AliAnaConvIsolation.cxx:261 AliAnaConvIsolation.cxx:262 AliAnaConvIsolation.cxx:263 AliAnaConvIsolation.cxx:264 AliAnaConvIsolation.cxx:265 AliAnaConvIsolation.cxx:266 AliAnaConvIsolation.cxx:267 AliAnaConvIsolation.cxx:268 AliAnaConvIsolation.cxx:269 AliAnaConvIsolation.cxx:270 AliAnaConvIsolation.cxx:271 AliAnaConvIsolation.cxx:272 AliAnaConvIsolation.cxx:273 AliAnaConvIsolation.cxx:274 AliAnaConvIsolation.cxx:275 AliAnaConvIsolation.cxx:276 AliAnaConvIsolation.cxx:277 AliAnaConvIsolation.cxx:278 AliAnaConvIsolation.cxx:279 AliAnaConvIsolation.cxx:280 AliAnaConvIsolation.cxx:281 AliAnaConvIsolation.cxx:282 AliAnaConvIsolation.cxx:283 AliAnaConvIsolation.cxx:284 AliAnaConvIsolation.cxx:285 AliAnaConvIsolation.cxx:286 AliAnaConvIsolation.cxx:287 AliAnaConvIsolation.cxx:288 AliAnaConvIsolation.cxx:289 AliAnaConvIsolation.cxx:290 AliAnaConvIsolation.cxx:291 AliAnaConvIsolation.cxx:292 AliAnaConvIsolation.cxx:293 AliAnaConvIsolation.cxx:294 AliAnaConvIsolation.cxx:295 AliAnaConvIsolation.cxx:296 AliAnaConvIsolation.cxx:297 AliAnaConvIsolation.cxx:298 AliAnaConvIsolation.cxx:299 AliAnaConvIsolation.cxx:300 AliAnaConvIsolation.cxx:301 AliAnaConvIsolation.cxx:302 AliAnaConvIsolation.cxx:303 AliAnaConvIsolation.cxx:304 AliAnaConvIsolation.cxx:305 AliAnaConvIsolation.cxx:306 AliAnaConvIsolation.cxx:307 AliAnaConvIsolation.cxx:308 AliAnaConvIsolation.cxx:309 AliAnaConvIsolation.cxx:310 AliAnaConvIsolation.cxx:311 AliAnaConvIsolation.cxx:312 AliAnaConvIsolation.cxx:313 AliAnaConvIsolation.cxx:314 AliAnaConvIsolation.cxx:315 AliAnaConvIsolation.cxx:316 AliAnaConvIsolation.cxx:317 AliAnaConvIsolation.cxx:318 AliAnaConvIsolation.cxx:319 AliAnaConvIsolation.cxx:320 AliAnaConvIsolation.cxx:321 AliAnaConvIsolation.cxx:322 AliAnaConvIsolation.cxx:323 AliAnaConvIsolation.cxx:324