]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALJetTasks/AliJetRandomizerTask.cxx
added classes for background and jet modeling from Salvatore
[u/mrichter/AliRoot.git] / PWGGA / EMCALJetTasks / AliJetRandomizerTask.cxx
CommitLineData
762e8424 1// $Id$
2//
3// Jet embedding task.
4//
5// Author: Salvatore Aiola, Constantin Loizides
6
7#include <TClonesArray.h>
8#include <TLorentzVector.h>
9#include <TRandom3.h>
10
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"
18#include "AliLog.h"
19
20#include "AliJetRandomizerTask.h"
21
22ClassImp(AliJetRandomizerTask)
23
24//________________________________________________________________________
25AliJetRandomizerTask::AliJetRandomizerTask() :
26 AliJetModelBaseTask("AliJetRandomizerTask")
27{
28 // Default constructor.
29 SetSuffix("Randomized");
30}
31
32//________________________________________________________________________
33AliJetRandomizerTask::AliJetRandomizerTask(const char *name) :
34 AliJetModelBaseTask(name)
35{
36 // Standard constructor.
37 SetSuffix("Randomized");
38}
39
40//________________________________________________________________________
41AliJetRandomizerTask::~AliJetRandomizerTask()
42{
43 // Destructor
44}
45
46//________________________________________________________________________
47void AliJetRandomizerTask::Run()
48{
49 // Randomize particles.
50
51 if (fNClusters > 0 && fOutClusters) {
52 const Int_t nClusters = fOutClusters->GetEntriesFast();
53 for (Int_t i = 0; i < nClusters; ++i) {
54 AliVCluster *cluster = dynamic_cast<AliVCluster*>(fClusters->At(i));
55 if (!cluster)
56 continue;
57 if (!cluster->IsEMCAL())
58 continue;
59 AddCluster(cluster->E());
60 }
61 }
62
63 if (fNTracks > 0 && fOutTracks) {
64 const Int_t nTracks = fOutTracks->GetEntriesFast();
65 for (Int_t i = 0; i < nTracks; ++i) {
66 AliPicoTrack *track = dynamic_cast<AliPicoTrack*>(fTracks->At(i));
67 if (!track)
68 continue;
69 AddTrack(track->Pt());
70 }
71 }
72}
73
74//________________________________________________________________________
75void AliJetRandomizerTask::UserExec(Option_t *)
76{
77 // Execute per event.
78
79 if (!fCopyArray) {
80 AliWarning("fCopyArray == kFALSE not allowed for AliJetRandomizerTask, will set kTRUE");
81 fCopyArray = kTRUE;
82 }
83
84 Init();
85
86 Run();
87}