3 // Jet randomizer task.
5 // Author: S.Aiola, C.Loizides
7 #include <TClonesArray.h>
8 #include <TLorentzVector.h>
11 #include "AliAnalysisManager.h"
12 #include "AliVEvent.h"
13 #include "AliVCluster.h"
14 #include "AliEMCALDigit.h"
15 #include "AliEMCALRecPoint.h"
16 #include "AliPicoTrack.h"
17 #include "AliEMCALGeometry.h"
20 #include "AliJetRandomizerTask.h"
22 ClassImp(AliJetRandomizerTask)
24 //________________________________________________________________________
25 AliJetRandomizerTask::AliJetRandomizerTask() :
26 AliJetModelBaseTask("AliJetRandomizerTask")
28 // Default constructor.
30 SetSuffix("Randomized");
33 //________________________________________________________________________
34 AliJetRandomizerTask::AliJetRandomizerTask(const char *name) :
35 AliJetModelBaseTask(name)
37 // Standard constructor.
39 SetSuffix("Randomized");
42 //________________________________________________________________________
43 AliJetRandomizerTask::~AliJetRandomizerTask()
48 //________________________________________________________________________
49 void AliJetRandomizerTask::UserExec(Option_t *)
54 AliWarning("fCopyArray == kFALSE not allowed for AliJetRandomizerTask, will set kTRUE");
66 //________________________________________________________________________
67 void AliJetRandomizerTask::Run()
69 // Randomize particles.
71 if (fNClusters > 0 && fOutClusters) {
72 const Int_t nClusters = fClusters->GetEntriesFast();
73 for (Int_t i = 0; i < nClusters; ++i) {
74 AliVCluster *cluster = dynamic_cast<AliVCluster*>(fClusters->At(i));
77 if (!cluster->IsEMCAL())
81 cluster->GetPosition(pos);
82 TVector3 clusVec(pos);
84 AddCluster(cluster->E(), clusVec.Eta());
88 if (fNTracks > 0 && fOutTracks) {
89 const Int_t nTracks = fTracks->GetEntriesFast();
90 for (Int_t i = 0; i < nTracks; ++i) {
91 AliPicoTrack *track = dynamic_cast<AliPicoTrack*>(fTracks->At(i));
95 AddTrack(track->Pt(), track->Eta());