#include "AliJetModelCopyTracks.h"
#include <TClonesArray.h>
#include <TFolder.h>
#include <TLorentzVector.h>
#include <TParticle.h>
#include <TParticlePDG.h>
#include <TRandom3.h>
#include <TProfile.h>
#include <TGrid.h>
#include <TFile.h>
#include <TF1.h>
#include "AliAnalysisManager.h"
#include "AliEMCALDigit.h"
#include "AliEMCALGeometry.h"
#include "AliEMCALRecPoint.h"
#include "AliGenerator.h"
#include "AliHeader.h"
#include "AliLog.h"
#include "AliPicoTrack.h"
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliStack.h"
#include "AliStack.h"
#include "AliVCluster.h"
#include "AliVEvent.h"
ClassImp(AliJetModelCopyTracks)
AliJetModelCopyTracks::AliJetModelCopyTracks() :
AliAnalysisTaskEmcal("AliJetModelCopyTracks",kTRUE),
fTracksOutName(""),
fTracksOut(0x0),
fParticleMass(kMassive),
fHistPtOut(0)
{
SetMakeGeneralHistograms(kTRUE);
}
AliJetModelCopyTracks::AliJetModelCopyTracks(const char *name) :
AliAnalysisTaskEmcal(name,kTRUE),
fTracksOutName(""),
fTracksOut(0x0),
fParticleMass(kMassive),
fHistPtOut(0)
{
SetMakeGeneralHistograms(kTRUE);
}
AliJetModelCopyTracks::~AliJetModelCopyTracks()
{
}
void AliJetModelCopyTracks::ExecOnce()
{
AliAnalysisTaskEmcal::ExecOnce();
if (!fTracksOutName.IsNull()) {
fTracksOut = new TClonesArray("AliPicoTrack");
fTracksOut->SetName(fTracksOutName);
if (InputEvent()->FindListObject(fTracksOutName)) {
AliFatal(Form("%s: Collection %s is already present in the event!", GetName(), fTracksOutName.Data()));
return;
}
else {
InputEvent()->AddObject(fTracksOut);
}
}
}
void AliJetModelCopyTracks::UserCreateOutputObjects()
{
AliAnalysisTaskEmcal::UserCreateOutputObjects();
const Int_t nBinPt = 100;
Double_t binLimitsPt[nBinPt+1];
for(Int_t iPt = 0;iPt <= nBinPt;iPt++){
if(iPt == 0){
binLimitsPt[iPt] = 0.0;
} else {
binLimitsPt[iPt] = binLimitsPt[iPt-1] + 1.0;
}
}
fHistPtOut = new TH1F("fHistPtOut","fHistPtOut;#it{p}_{T};N",nBinPt,binLimitsPt);
fOutput->Add(fHistPtOut);
PostData(1, fOutput);
}
Bool_t AliJetModelCopyTracks::Run()
{
CopyTracks();
return kTRUE;
}
void AliJetModelCopyTracks::CopyTracks()
{
fTracksOut->Delete();
Int_t nt = 0;
const Int_t nTracks = fTracks->GetEntriesFast();
for (Int_t i = 0; i < nTracks; ++i) {
AliPicoTrack *picotrack = static_cast<AliPicoTrack*>(fTracks->At(i));
if (!picotrack)
continue;
Double_t mass = picotrack->M();
if(fParticleMass==kMassless) mass = 0.;
if(fParticleMass==kPionMass) mass = 0.13957;
AliPicoTrack *track = new ((*fTracksOut)[nt]) AliPicoTrack(picotrack->Pt(),
picotrack->Eta(),
picotrack->Phi(),
picotrack->Charge(),
picotrack->GetLabel(),
AliPicoTrack::GetTrackType(picotrack),
picotrack->GetTrackEtaOnEMCal(),
picotrack->GetTrackPhiOnEMCal(),
picotrack->GetTrackPtOnEMCal(),
picotrack->IsEMCAL(),
mass);
track->SetBit(TObject::kBitMask,1);
fHistPtOut->Fill(track->Pt());
nt++;
}
}
AliJetModelCopyTracks.cxx:1 AliJetModelCopyTracks.cxx:2 AliJetModelCopyTracks.cxx:3 AliJetModelCopyTracks.cxx:4 AliJetModelCopyTracks.cxx:5 AliJetModelCopyTracks.cxx:6 AliJetModelCopyTracks.cxx:7 AliJetModelCopyTracks.cxx:8 AliJetModelCopyTracks.cxx:9 AliJetModelCopyTracks.cxx:10 AliJetModelCopyTracks.cxx:11 AliJetModelCopyTracks.cxx:12 AliJetModelCopyTracks.cxx:13 AliJetModelCopyTracks.cxx:14 AliJetModelCopyTracks.cxx:15 AliJetModelCopyTracks.cxx:16 AliJetModelCopyTracks.cxx:17 AliJetModelCopyTracks.cxx:18 AliJetModelCopyTracks.cxx:19 AliJetModelCopyTracks.cxx:20 AliJetModelCopyTracks.cxx:21 AliJetModelCopyTracks.cxx:22 AliJetModelCopyTracks.cxx:23 AliJetModelCopyTracks.cxx:24 AliJetModelCopyTracks.cxx:25 AliJetModelCopyTracks.cxx:26 AliJetModelCopyTracks.cxx:27 AliJetModelCopyTracks.cxx:28 AliJetModelCopyTracks.cxx:29 AliJetModelCopyTracks.cxx:30 AliJetModelCopyTracks.cxx:31 AliJetModelCopyTracks.cxx:32 AliJetModelCopyTracks.cxx:33 AliJetModelCopyTracks.cxx:34 AliJetModelCopyTracks.cxx:35 AliJetModelCopyTracks.cxx:36 AliJetModelCopyTracks.cxx:37 AliJetModelCopyTracks.cxx:38 AliJetModelCopyTracks.cxx:39 AliJetModelCopyTracks.cxx:40 AliJetModelCopyTracks.cxx:41 AliJetModelCopyTracks.cxx:42 AliJetModelCopyTracks.cxx:43 AliJetModelCopyTracks.cxx:44 AliJetModelCopyTracks.cxx:45 AliJetModelCopyTracks.cxx:46 AliJetModelCopyTracks.cxx:47 AliJetModelCopyTracks.cxx:48 AliJetModelCopyTracks.cxx:49 AliJetModelCopyTracks.cxx:50 AliJetModelCopyTracks.cxx:51 AliJetModelCopyTracks.cxx:52 AliJetModelCopyTracks.cxx:53 AliJetModelCopyTracks.cxx:54 AliJetModelCopyTracks.cxx:55 AliJetModelCopyTracks.cxx:56 AliJetModelCopyTracks.cxx:57 AliJetModelCopyTracks.cxx:58 AliJetModelCopyTracks.cxx:59 AliJetModelCopyTracks.cxx:60 AliJetModelCopyTracks.cxx:61 AliJetModelCopyTracks.cxx:62 AliJetModelCopyTracks.cxx:63 AliJetModelCopyTracks.cxx:64 AliJetModelCopyTracks.cxx:65 AliJetModelCopyTracks.cxx:66 AliJetModelCopyTracks.cxx:67 AliJetModelCopyTracks.cxx:68 AliJetModelCopyTracks.cxx:69 AliJetModelCopyTracks.cxx:70 AliJetModelCopyTracks.cxx:71 AliJetModelCopyTracks.cxx:72 AliJetModelCopyTracks.cxx:73 AliJetModelCopyTracks.cxx:74 AliJetModelCopyTracks.cxx:75 AliJetModelCopyTracks.cxx:76 AliJetModelCopyTracks.cxx:77 AliJetModelCopyTracks.cxx:78 AliJetModelCopyTracks.cxx:79 AliJetModelCopyTracks.cxx:80 AliJetModelCopyTracks.cxx:81 AliJetModelCopyTracks.cxx:82 AliJetModelCopyTracks.cxx:83 AliJetModelCopyTracks.cxx:84 AliJetModelCopyTracks.cxx:85 AliJetModelCopyTracks.cxx:86 AliJetModelCopyTracks.cxx:87 AliJetModelCopyTracks.cxx:88 AliJetModelCopyTracks.cxx:89 AliJetModelCopyTracks.cxx:90 AliJetModelCopyTracks.cxx:91 AliJetModelCopyTracks.cxx:92 AliJetModelCopyTracks.cxx:93 AliJetModelCopyTracks.cxx:94 AliJetModelCopyTracks.cxx:95 AliJetModelCopyTracks.cxx:96 AliJetModelCopyTracks.cxx:97 AliJetModelCopyTracks.cxx:98 AliJetModelCopyTracks.cxx:99 AliJetModelCopyTracks.cxx:100 AliJetModelCopyTracks.cxx:101 AliJetModelCopyTracks.cxx:102 AliJetModelCopyTracks.cxx:103 AliJetModelCopyTracks.cxx:104 AliJetModelCopyTracks.cxx:105 AliJetModelCopyTracks.cxx:106 AliJetModelCopyTracks.cxx:107 AliJetModelCopyTracks.cxx:108 AliJetModelCopyTracks.cxx:109 AliJetModelCopyTracks.cxx:110 AliJetModelCopyTracks.cxx:111 AliJetModelCopyTracks.cxx:112 AliJetModelCopyTracks.cxx:113 AliJetModelCopyTracks.cxx:114 AliJetModelCopyTracks.cxx:115 AliJetModelCopyTracks.cxx:116 AliJetModelCopyTracks.cxx:117 AliJetModelCopyTracks.cxx:118 AliJetModelCopyTracks.cxx:119 AliJetModelCopyTracks.cxx:120 AliJetModelCopyTracks.cxx:121 AliJetModelCopyTracks.cxx:122 AliJetModelCopyTracks.cxx:123 AliJetModelCopyTracks.cxx:124 AliJetModelCopyTracks.cxx:125 AliJetModelCopyTracks.cxx:126 AliJetModelCopyTracks.cxx:127 AliJetModelCopyTracks.cxx:128 AliJetModelCopyTracks.cxx:129 AliJetModelCopyTracks.cxx:130 AliJetModelCopyTracks.cxx:131 AliJetModelCopyTracks.cxx:132 AliJetModelCopyTracks.cxx:133 AliJetModelCopyTracks.cxx:134 AliJetModelCopyTracks.cxx:135 AliJetModelCopyTracks.cxx:136 AliJetModelCopyTracks.cxx:137 AliJetModelCopyTracks.cxx:138 AliJetModelCopyTracks.cxx:139 AliJetModelCopyTracks.cxx:140 AliJetModelCopyTracks.cxx:141 AliJetModelCopyTracks.cxx:142 AliJetModelCopyTracks.cxx:143 AliJetModelCopyTracks.cxx:144 AliJetModelCopyTracks.cxx:145 AliJetModelCopyTracks.cxx:146 AliJetModelCopyTracks.cxx:147 AliJetModelCopyTracks.cxx:148 AliJetModelCopyTracks.cxx:149 AliJetModelCopyTracks.cxx:150 AliJetModelCopyTracks.cxx:151 AliJetModelCopyTracks.cxx:152 AliJetModelCopyTracks.cxx:153 AliJetModelCopyTracks.cxx:154