#include "AliJetFillCalTrkTrack.h"
#include "AliJetReaderHeader.h"
#include "AliVEvent.h"
#include "AliESDtrack.h"
#include "AliAODTrack.h"
using std::cout;
using std::endl;
ClassImp(AliJetFillCalTrkTrack)
AliJetFillCalTrkTrack::AliJetFillCalTrkTrack():
AliJetFillCalTrkEvent(),
fHadCorr(0),
fApplyMIPCorrection(kTRUE),
fVEvt(0x0)
{
}
AliJetFillCalTrkTrack::AliJetFillCalTrkTrack(AliVEvent* evt):
AliJetFillCalTrkEvent(),
fHadCorr(0),
fApplyMIPCorrection(kTRUE),
fVEvt(evt)
{
}
AliJetFillCalTrkTrack::AliJetFillCalTrkTrack(const AliJetFillCalTrkTrack &det):
AliJetFillCalTrkEvent(det),
fHadCorr(det.fHadCorr),
fApplyMIPCorrection(det.fApplyMIPCorrection),
fVEvt(det.fVEvt)
{
}
AliJetFillCalTrkTrack& AliJetFillCalTrkTrack::operator=(const AliJetFillCalTrkTrack& other)
{
if (this != &other) {
fHadCorr = other.fHadCorr;
fApplyMIPCorrection = other.fApplyMIPCorrection;
fVEvt = other.fVEvt;
}
return (*this);
}
AliJetFillCalTrkTrack::~AliJetFillCalTrkTrack()
{
}
void AliJetFillCalTrkTrack::Exec(Option_t const * )
{
fDebug = fReaderHeader->GetDebug();
fOpt = fReaderHeader->GetDetector();
TString datatype = fReaderHeader->GetDataType();
datatype.ToUpper();
Int_t type=0;
if (datatype.Contains("AODEXTRAONLY")) { type=kTrackAODextraonly;}
else if (datatype.Contains("AODEXTRA")) { type=kTrackAODextra; }
else if (datatype.Contains("AOD")) { type=kTrackAOD; }
else if (datatype.Contains("ESD")) { type=kTrackESD; }
else { cout<< "Unknown Data type !" << endl; }
Bool_t sflag = 0;
Bool_t cflag = 0;
Float_t ptMin = fReaderHeader->GetPtCut();
Float_t etaMin = fReaderHeader->GetFiducialEtaMin();
Float_t etaMax = fReaderHeader->GetFiducialEtaMax();
Float_t phiMin = fReaderHeader->GetFiducialPhiMin();
Float_t phiMax = fReaderHeader->GetFiducialPhiMax();
UInt_t filterMask = ((AliJetReaderHeader*)fReaderHeader)->GetTestFilterMask();
UInt_t filterType = ((AliJetReaderHeader*)fReaderHeader)->GetFilterType();
if(fDebug>2)Printf("%s:%d Selecting tracks with %d",(char*)__FILE__,__LINE__,type);
Int_t goodTrackStd = 0;
Int_t goodTrackNonStd = 0;
if(type==kTrackESD || type==kTrackAOD || type==kTrackAODextra || type==kTrackAODextraonly){
if(type!=kTrackAODextraonly) {
if(!fVEvt){
if(fDebug>2)Printf("%s:%d No AOD or ESD input event",(char*)__FILE__,__LINE__);
return;
}
for(int it = 0;it < fVEvt->GetNumberOfTracks();++it){
AliVTrack *tr = (AliVTrack*)fVEvt->GetTrack(it);
cflag=sflag=0;
if(fVEvt->InheritsFrom("AliESDEvent")){
if(tr->GetStatus()==0){
if(fDebug>10)Printf("%s:%d Not matching status %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
continue;
}
if ((tr->GetStatus() & AliESDtrack::kTPCrefit) == 0) continue;
if ((tr->GetStatus() & AliESDtrack::kITSrefit) == 0) continue;
if (((AliJetReaderHeader*) fReaderHeader)->ReadSignalOnly()
&& TMath::Abs(tr->GetLabel()) > 10000) continue;
if (((AliJetReaderHeader*) fReaderHeader)->ReadBkgdOnly()
&& TMath::Abs(tr->GetLabel()) < 10000) continue;
}
if((fVEvt->InheritsFrom("AliAODEvent"))){
AliAODTrack *trAOD = dynamic_cast<AliAODTrack*> (tr);
if(!trAOD) continue;
Bool_t bGood = false;
if(filterType == 0)bGood = true;
else if(filterType == 1)bGood = trAOD->IsHybridTPCConstrainedGlobal();
else if(filterType == 2)bGood = trAOD->IsHybridGlobalConstrainedGlobal();
if((filterMask>0)&&((!trAOD->TestFilterBit(filterMask)||(!bGood)))){
if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks(),filterMask,trAOD->GetFilterMap());
continue;
}
}
if((tr->Eta()> etaMax) || (tr->Eta() < etaMin)){
if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
continue;
}
Float_t phi = ( (tr->Phi()) < 0) ? (tr->Phi()) + 2. * TMath::Pi() : (tr->Phi());
if((phi > phiMax) || (phi < phiMin)){
if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
continue;
}
if(tr->Pt() <= ptMin){
if(fDebug>10)Printf("%s:%d Not matching pt %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
}
else {cflag=1;}
sflag=(TMath::Abs(tr->GetLabel()) < 10000) ? 1 : 0;
if(fDebug>10)Printf("%s:%d MATCHED %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
fCalTrkEvent->AddCalTrkTrack(tr,cflag,sflag);
goodTrackStd++;
}
}
if(type==kTrackAODextra || type==kTrackAODextraonly) {
if(!fVEvt){
return;
}
TClonesArray *aodExtraTracks = dynamic_cast<TClonesArray*>(fVEvt->FindListObject("aodExtraTracks"));
if(!aodExtraTracks) return;
for(int it =0; it<aodExtraTracks->GetEntries(); it++) {
cflag=sflag=0;
AliVParticle *track = dynamic_cast<AliVParticle*> ((*aodExtraTracks)[it]);
if (!track) continue;
AliAODTrack *trackAOD = dynamic_cast<AliAODTrack*> (track);
if(!trackAOD) continue;
if (trackAOD->GetStatus() == 0) continue;
Bool_t bGood = false;
if(filterType == 0)bGood = true;
else if(filterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal();
else if(filterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal();
if((filterMask>0)&&((!trackAOD->TestFilterBit(filterMask)||(!bGood))))continue;
if((trackAOD->Eta()> etaMax) || (trackAOD->Eta() < etaMin)){
if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
continue;
}
Float_t phi = ( (trackAOD->Phi()) < 0) ? (trackAOD->Phi()) + 2. * TMath::Pi() : (trackAOD->Phi());
if((phi > phiMax) || (phi < phiMin)){
if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
continue;
}
if(trackAOD->Pt() <= ptMin){
if(fDebug>10)Printf("%s:%d Not matching pt %d/%d",(char*)__FILE__,__LINE__,it,fVEvt->GetNumberOfTracks());
}
else {cflag=1;}
sflag=(TMath::Abs(trackAOD->GetLabel()) < 10000) ? 1 : 0;
fCalTrkEvent->AddCalTrkTrack(trackAOD,cflag,sflag);
goodTrackNonStd++;
}
}
}
if(fDebug>0)printf("Number of good tracks selected: %5d \n", goodTrackStd+goodTrackNonStd);
}
AliJetFillCalTrkTrack.cxx:1 AliJetFillCalTrkTrack.cxx:2 AliJetFillCalTrkTrack.cxx:3 AliJetFillCalTrkTrack.cxx:4 AliJetFillCalTrkTrack.cxx:5 AliJetFillCalTrkTrack.cxx:6 AliJetFillCalTrkTrack.cxx:7 AliJetFillCalTrkTrack.cxx:8 AliJetFillCalTrkTrack.cxx:9 AliJetFillCalTrkTrack.cxx:10 AliJetFillCalTrkTrack.cxx:11 AliJetFillCalTrkTrack.cxx:12 AliJetFillCalTrkTrack.cxx:13 AliJetFillCalTrkTrack.cxx:14 AliJetFillCalTrkTrack.cxx:15 AliJetFillCalTrkTrack.cxx:16 AliJetFillCalTrkTrack.cxx:17 AliJetFillCalTrkTrack.cxx:18 AliJetFillCalTrkTrack.cxx:19 AliJetFillCalTrkTrack.cxx:20 AliJetFillCalTrkTrack.cxx:21 AliJetFillCalTrkTrack.cxx:22 AliJetFillCalTrkTrack.cxx:23 AliJetFillCalTrkTrack.cxx:24 AliJetFillCalTrkTrack.cxx:25 AliJetFillCalTrkTrack.cxx:26 AliJetFillCalTrkTrack.cxx:27 AliJetFillCalTrkTrack.cxx:28 AliJetFillCalTrkTrack.cxx:29 AliJetFillCalTrkTrack.cxx:30 AliJetFillCalTrkTrack.cxx:31 AliJetFillCalTrkTrack.cxx:32 AliJetFillCalTrkTrack.cxx:33 AliJetFillCalTrkTrack.cxx:34 AliJetFillCalTrkTrack.cxx:35 AliJetFillCalTrkTrack.cxx:36 AliJetFillCalTrkTrack.cxx:37 AliJetFillCalTrkTrack.cxx:38 AliJetFillCalTrkTrack.cxx:39 AliJetFillCalTrkTrack.cxx:40 AliJetFillCalTrkTrack.cxx:41 AliJetFillCalTrkTrack.cxx:42 AliJetFillCalTrkTrack.cxx:43 AliJetFillCalTrkTrack.cxx:44 AliJetFillCalTrkTrack.cxx:45 AliJetFillCalTrkTrack.cxx:46 AliJetFillCalTrkTrack.cxx:47 AliJetFillCalTrkTrack.cxx:48 AliJetFillCalTrkTrack.cxx:49 AliJetFillCalTrkTrack.cxx:50 AliJetFillCalTrkTrack.cxx:51 AliJetFillCalTrkTrack.cxx:52 AliJetFillCalTrkTrack.cxx:53 AliJetFillCalTrkTrack.cxx:54 AliJetFillCalTrkTrack.cxx:55 AliJetFillCalTrkTrack.cxx:56 AliJetFillCalTrkTrack.cxx:57 AliJetFillCalTrkTrack.cxx:58 AliJetFillCalTrkTrack.cxx:59 AliJetFillCalTrkTrack.cxx:60 AliJetFillCalTrkTrack.cxx:61 AliJetFillCalTrkTrack.cxx:62 AliJetFillCalTrkTrack.cxx:63 AliJetFillCalTrkTrack.cxx:64 AliJetFillCalTrkTrack.cxx:65 AliJetFillCalTrkTrack.cxx:66 AliJetFillCalTrkTrack.cxx:67 AliJetFillCalTrkTrack.cxx:68 AliJetFillCalTrkTrack.cxx:69 AliJetFillCalTrkTrack.cxx:70 AliJetFillCalTrkTrack.cxx:71 AliJetFillCalTrkTrack.cxx:72 AliJetFillCalTrkTrack.cxx:73 AliJetFillCalTrkTrack.cxx:74 AliJetFillCalTrkTrack.cxx:75 AliJetFillCalTrkTrack.cxx:76 AliJetFillCalTrkTrack.cxx:77 AliJetFillCalTrkTrack.cxx:78 AliJetFillCalTrkTrack.cxx:79 AliJetFillCalTrkTrack.cxx:80 AliJetFillCalTrkTrack.cxx:81 AliJetFillCalTrkTrack.cxx:82 AliJetFillCalTrkTrack.cxx:83 AliJetFillCalTrkTrack.cxx:84 AliJetFillCalTrkTrack.cxx:85 AliJetFillCalTrkTrack.cxx:86 AliJetFillCalTrkTrack.cxx:87 AliJetFillCalTrkTrack.cxx:88 AliJetFillCalTrkTrack.cxx:89 AliJetFillCalTrkTrack.cxx:90 AliJetFillCalTrkTrack.cxx:91 AliJetFillCalTrkTrack.cxx:92 AliJetFillCalTrkTrack.cxx:93 AliJetFillCalTrkTrack.cxx:94 AliJetFillCalTrkTrack.cxx:95 AliJetFillCalTrkTrack.cxx:96 AliJetFillCalTrkTrack.cxx:97 AliJetFillCalTrkTrack.cxx:98 AliJetFillCalTrkTrack.cxx:99 AliJetFillCalTrkTrack.cxx:100 AliJetFillCalTrkTrack.cxx:101 AliJetFillCalTrkTrack.cxx:102 AliJetFillCalTrkTrack.cxx:103 AliJetFillCalTrkTrack.cxx:104 AliJetFillCalTrkTrack.cxx:105 AliJetFillCalTrkTrack.cxx:106 AliJetFillCalTrkTrack.cxx:107 AliJetFillCalTrkTrack.cxx:108 AliJetFillCalTrkTrack.cxx:109 AliJetFillCalTrkTrack.cxx:110 AliJetFillCalTrkTrack.cxx:111 AliJetFillCalTrkTrack.cxx:112 AliJetFillCalTrkTrack.cxx:113 AliJetFillCalTrkTrack.cxx:114 AliJetFillCalTrkTrack.cxx:115 AliJetFillCalTrkTrack.cxx:116 AliJetFillCalTrkTrack.cxx:117 AliJetFillCalTrkTrack.cxx:118 AliJetFillCalTrkTrack.cxx:119 AliJetFillCalTrkTrack.cxx:120 AliJetFillCalTrkTrack.cxx:121 AliJetFillCalTrkTrack.cxx:122 AliJetFillCalTrkTrack.cxx:123 AliJetFillCalTrkTrack.cxx:124 AliJetFillCalTrkTrack.cxx:125 AliJetFillCalTrkTrack.cxx:126 AliJetFillCalTrkTrack.cxx:127 AliJetFillCalTrkTrack.cxx:128 AliJetFillCalTrkTrack.cxx:129 AliJetFillCalTrkTrack.cxx:130 AliJetFillCalTrkTrack.cxx:131 AliJetFillCalTrkTrack.cxx:132 AliJetFillCalTrkTrack.cxx:133 AliJetFillCalTrkTrack.cxx:134 AliJetFillCalTrkTrack.cxx:135 AliJetFillCalTrkTrack.cxx:136 AliJetFillCalTrkTrack.cxx:137 AliJetFillCalTrkTrack.cxx:138 AliJetFillCalTrkTrack.cxx:139 AliJetFillCalTrkTrack.cxx:140 AliJetFillCalTrkTrack.cxx:141 AliJetFillCalTrkTrack.cxx:142 AliJetFillCalTrkTrack.cxx:143 AliJetFillCalTrkTrack.cxx:144 AliJetFillCalTrkTrack.cxx:145 AliJetFillCalTrkTrack.cxx:146 AliJetFillCalTrkTrack.cxx:147 AliJetFillCalTrkTrack.cxx:148 AliJetFillCalTrkTrack.cxx:149 AliJetFillCalTrkTrack.cxx:150 AliJetFillCalTrkTrack.cxx:151 AliJetFillCalTrkTrack.cxx:152 AliJetFillCalTrkTrack.cxx:153 AliJetFillCalTrkTrack.cxx:154 AliJetFillCalTrkTrack.cxx:155 AliJetFillCalTrkTrack.cxx:156 AliJetFillCalTrkTrack.cxx:157 AliJetFillCalTrkTrack.cxx:158 AliJetFillCalTrkTrack.cxx:159 AliJetFillCalTrkTrack.cxx:160 AliJetFillCalTrkTrack.cxx:161 AliJetFillCalTrkTrack.cxx:162 AliJetFillCalTrkTrack.cxx:163 AliJetFillCalTrkTrack.cxx:164 AliJetFillCalTrkTrack.cxx:165 AliJetFillCalTrkTrack.cxx:166 AliJetFillCalTrkTrack.cxx:167 AliJetFillCalTrkTrack.cxx:168 AliJetFillCalTrkTrack.cxx:169 AliJetFillCalTrkTrack.cxx:170 AliJetFillCalTrkTrack.cxx:171 AliJetFillCalTrkTrack.cxx:172 AliJetFillCalTrkTrack.cxx:173 AliJetFillCalTrkTrack.cxx:174 AliJetFillCalTrkTrack.cxx:175 AliJetFillCalTrkTrack.cxx:176 AliJetFillCalTrkTrack.cxx:177 AliJetFillCalTrkTrack.cxx:178 AliJetFillCalTrkTrack.cxx:179 AliJetFillCalTrkTrack.cxx:180 AliJetFillCalTrkTrack.cxx:181 AliJetFillCalTrkTrack.cxx:182 AliJetFillCalTrkTrack.cxx:183 AliJetFillCalTrkTrack.cxx:184 AliJetFillCalTrkTrack.cxx:185 AliJetFillCalTrkTrack.cxx:186 AliJetFillCalTrkTrack.cxx:187 AliJetFillCalTrkTrack.cxx:188 AliJetFillCalTrkTrack.cxx:189 AliJetFillCalTrkTrack.cxx:190 AliJetFillCalTrkTrack.cxx:191 AliJetFillCalTrkTrack.cxx:192 AliJetFillCalTrkTrack.cxx:193 AliJetFillCalTrkTrack.cxx:194 AliJetFillCalTrkTrack.cxx:195 AliJetFillCalTrkTrack.cxx:196 AliJetFillCalTrkTrack.cxx:197 AliJetFillCalTrkTrack.cxx:198 AliJetFillCalTrkTrack.cxx:199 AliJetFillCalTrkTrack.cxx:200 AliJetFillCalTrkTrack.cxx:201 AliJetFillCalTrkTrack.cxx:202 AliJetFillCalTrkTrack.cxx:203 AliJetFillCalTrkTrack.cxx:204 AliJetFillCalTrkTrack.cxx:205 AliJetFillCalTrkTrack.cxx:206 AliJetFillCalTrkTrack.cxx:207 AliJetFillCalTrkTrack.cxx:208 AliJetFillCalTrkTrack.cxx:209 AliJetFillCalTrkTrack.cxx:210 AliJetFillCalTrkTrack.cxx:211 AliJetFillCalTrkTrack.cxx:212 AliJetFillCalTrkTrack.cxx:213 AliJetFillCalTrkTrack.cxx:214 AliJetFillCalTrkTrack.cxx:215 AliJetFillCalTrkTrack.cxx:216 AliJetFillCalTrkTrack.cxx:217 AliJetFillCalTrkTrack.cxx:218 AliJetFillCalTrkTrack.cxx:219 AliJetFillCalTrkTrack.cxx:220 AliJetFillCalTrkTrack.cxx:221 AliJetFillCalTrkTrack.cxx:222 AliJetFillCalTrkTrack.cxx:223 AliJetFillCalTrkTrack.cxx:224 AliJetFillCalTrkTrack.cxx:225 AliJetFillCalTrkTrack.cxx:226 AliJetFillCalTrkTrack.cxx:227 AliJetFillCalTrkTrack.cxx:228 AliJetFillCalTrkTrack.cxx:229 AliJetFillCalTrkTrack.cxx:230 AliJetFillCalTrkTrack.cxx:231 AliJetFillCalTrkTrack.cxx:232 AliJetFillCalTrkTrack.cxx:233