#include <TClonesArray.h>
#include <TLorentzVector.h>
#include <TRandom3.h>
#include "AliAnalysisManager.h"
#include "AliVEvent.h"
#include "AliVCluster.h"
#include "AliEMCALDigit.h"
#include "AliEMCALRecPoint.h"
#include "AliPicoTrack.h"
#include "AliEMCALGeometry.h"
#include "AliLog.h"
#include "AliJetRandomizerTask.h"
ClassImp(AliJetRandomizerTask)
AliJetRandomizerTask::AliJetRandomizerTask() :
AliJetModelBaseTask("AliJetRandomizerTask"),
fRandomizeEta(0)
{
SetSuffix("Randomized");
SetMarkMC(0);
}
AliJetRandomizerTask::AliJetRandomizerTask(const char *name) :
AliJetModelBaseTask(name),
fRandomizeEta(0)
{
SetSuffix("Randomized");
SetMarkMC(0);
}
AliJetRandomizerTask::~AliJetRandomizerTask()
{
}
void AliJetRandomizerTask::UserExec(Option_t *)
{
if (!fCopyArray) {
AliWarning("fCopyArray == kFALSE not allowed for AliJetRandomizerTask, will set kTRUE");
fCopyArray = kTRUE;
}
if (!fIsInit) {
ExecOnce();
fIsInit = 1;
}
Run();
}
void AliJetRandomizerTask::Run()
{
Double_t eta = -999;
if (fNClusters > 0 && fOutClusters) {
const Int_t nClusters = fClusters->GetEntriesFast();
for (Int_t i = 0; i < nClusters; ++i) {
AliVCluster *cluster = dynamic_cast<AliVCluster*>(fClusters->At(i));
if (!cluster)
continue;
if (!cluster->IsEMCAL())
continue;
Float_t pos[3];
cluster->GetPosition(pos);
TVector3 clusVec(pos);
if (fRandomizeEta == 0)
eta = clusVec.Eta();
else if (fRandomizeEta == 2)
eta = -clusVec.Eta();
AddCluster(cluster->E(), eta);
}
}
if (fNTracks > 0 && fOutTracks) {
const Int_t nTracks = fTracks->GetEntriesFast();
for (Int_t i = 0; i < nTracks; ++i) {
AliPicoTrack *track = dynamic_cast<AliPicoTrack*>(fTracks->At(i));
if (!track)
continue;
if (fRandomizeEta == 0)
eta = track->Eta();
else if (fRandomizeEta == 2)
eta = -track->Eta();
AddTrack(track->Pt(), eta);
}
}
}
AliJetRandomizerTask.cxx:1 AliJetRandomizerTask.cxx:2 AliJetRandomizerTask.cxx:3 AliJetRandomizerTask.cxx:4 AliJetRandomizerTask.cxx:5 AliJetRandomizerTask.cxx:6 AliJetRandomizerTask.cxx:7 AliJetRandomizerTask.cxx:8 AliJetRandomizerTask.cxx:9 AliJetRandomizerTask.cxx:10 AliJetRandomizerTask.cxx:11 AliJetRandomizerTask.cxx:12 AliJetRandomizerTask.cxx:13 AliJetRandomizerTask.cxx:14 AliJetRandomizerTask.cxx:15 AliJetRandomizerTask.cxx:16 AliJetRandomizerTask.cxx:17 AliJetRandomizerTask.cxx:18 AliJetRandomizerTask.cxx:19 AliJetRandomizerTask.cxx:20 AliJetRandomizerTask.cxx:21 AliJetRandomizerTask.cxx:22 AliJetRandomizerTask.cxx:23 AliJetRandomizerTask.cxx:24 AliJetRandomizerTask.cxx:25 AliJetRandomizerTask.cxx:26 AliJetRandomizerTask.cxx:27 AliJetRandomizerTask.cxx:28 AliJetRandomizerTask.cxx:29 AliJetRandomizerTask.cxx:30 AliJetRandomizerTask.cxx:31 AliJetRandomizerTask.cxx:32 AliJetRandomizerTask.cxx:33 AliJetRandomizerTask.cxx:34 AliJetRandomizerTask.cxx:35 AliJetRandomizerTask.cxx:36 AliJetRandomizerTask.cxx:37 AliJetRandomizerTask.cxx:38 AliJetRandomizerTask.cxx:39 AliJetRandomizerTask.cxx:40 AliJetRandomizerTask.cxx:41 AliJetRandomizerTask.cxx:42 AliJetRandomizerTask.cxx:43 AliJetRandomizerTask.cxx:44 AliJetRandomizerTask.cxx:45 AliJetRandomizerTask.cxx:46 AliJetRandomizerTask.cxx:47 AliJetRandomizerTask.cxx:48 AliJetRandomizerTask.cxx:49 AliJetRandomizerTask.cxx:50 AliJetRandomizerTask.cxx:51 AliJetRandomizerTask.cxx:52 AliJetRandomizerTask.cxx:53 AliJetRandomizerTask.cxx:54 AliJetRandomizerTask.cxx:55 AliJetRandomizerTask.cxx:56 AliJetRandomizerTask.cxx:57 AliJetRandomizerTask.cxx:58 AliJetRandomizerTask.cxx:59 AliJetRandomizerTask.cxx:60 AliJetRandomizerTask.cxx:61 AliJetRandomizerTask.cxx:62 AliJetRandomizerTask.cxx:63 AliJetRandomizerTask.cxx:64 AliJetRandomizerTask.cxx:65 AliJetRandomizerTask.cxx:66 AliJetRandomizerTask.cxx:67 AliJetRandomizerTask.cxx:68 AliJetRandomizerTask.cxx:69 AliJetRandomizerTask.cxx:70 AliJetRandomizerTask.cxx:71 AliJetRandomizerTask.cxx:72 AliJetRandomizerTask.cxx:73 AliJetRandomizerTask.cxx:74 AliJetRandomizerTask.cxx:75 AliJetRandomizerTask.cxx:76 AliJetRandomizerTask.cxx:77 AliJetRandomizerTask.cxx:78 AliJetRandomizerTask.cxx:79 AliJetRandomizerTask.cxx:80 AliJetRandomizerTask.cxx:81 AliJetRandomizerTask.cxx:82 AliJetRandomizerTask.cxx:83 AliJetRandomizerTask.cxx:84 AliJetRandomizerTask.cxx:85 AliJetRandomizerTask.cxx:86 AliJetRandomizerTask.cxx:87 AliJetRandomizerTask.cxx:88 AliJetRandomizerTask.cxx:89 AliJetRandomizerTask.cxx:90 AliJetRandomizerTask.cxx:91 AliJetRandomizerTask.cxx:92 AliJetRandomizerTask.cxx:93 AliJetRandomizerTask.cxx:94 AliJetRandomizerTask.cxx:95 AliJetRandomizerTask.cxx:96 AliJetRandomizerTask.cxx:97 AliJetRandomizerTask.cxx:98 AliJetRandomizerTask.cxx:99 AliJetRandomizerTask.cxx:100 AliJetRandomizerTask.cxx:101 AliJetRandomizerTask.cxx:102 AliJetRandomizerTask.cxx:103 AliJetRandomizerTask.cxx:104 AliJetRandomizerTask.cxx:105 AliJetRandomizerTask.cxx:106 AliJetRandomizerTask.cxx:107 AliJetRandomizerTask.cxx:108 AliJetRandomizerTask.cxx:109 AliJetRandomizerTask.cxx:110