AliPhysics
v5-07-15-01 (b3d7633)
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Macros
AliEmcalParticleMaker.cxx
Go to the documentation of this file.
1
// $Id$
2
//
3
// Class to make emcal particles in AOD/ESD events.
4
//
5
// Author: S.Aiola
6
7
#include <TClonesArray.h>
8
9
#include "AliLog.h"
10
#include "AliVTrack.h"
11
#include "AliVCluster.h"
12
#include "
AliEmcalParticle.h
"
13
14
#include "
AliEmcalParticleMaker.h
"
15
16
ClassImp
(
AliEmcalParticleMaker
)
17
18
//________________________________________________________________________
19
AliEmcalParticleMaker
::
AliEmcalParticleMaker
() :
20
AliAnalysisTaskEmcal
("
AliEmcalParticleMaker
",kFALSE),
21
fTracksOutName("EmcalTracks"),
22
fCaloOutName("EmcalClusters"),
23
fTracksOut(0),
24
fCaloClustersOut(0)
25
{
26
// Constructor.
27
}
28
29
//________________________________________________________________________
30
AliEmcalParticleMaker::AliEmcalParticleMaker
(
const
char
*name) :
31
AliAnalysisTaskEmcal
(name,kFALSE),
32
fTracksOutName(
"EmcalTracks"
),
33
fCaloOutName(
"EmcalClusters"
),
34
fTracksOut(0),
35
fCaloClustersOut(0)
36
{
37
// Constructor.
38
}
39
40
//________________________________________________________________________
41
AliEmcalParticleMaker::~AliEmcalParticleMaker
()
42
{
43
// Destructor.
44
}
45
46
//________________________________________________________________________
47
void
AliEmcalParticleMaker::ExecOnce
()
48
{
49
// Init the analysis.
50
51
AliAnalysisTaskEmcal::ExecOnce
();
52
53
if
(!
fInitialized
)
54
return
;
55
56
if
(!
fTracksOutName
.IsNull()) {
57
fTracksOut
=
new
TClonesArray(
"AliEmcalParticle"
);
58
fTracksOut
->SetName(
fTracksOutName
);
59
AddObjectToEvent
(
fTracksOut
);
60
}
61
62
if
(!
fCaloOutName
.IsNull()) {
63
fCaloClustersOut
=
new
TClonesArray(
"AliEmcalParticle"
);
64
fCaloClustersOut
->SetName(
fCaloOutName
);
65
AddObjectToEvent
(
fCaloClustersOut
);
66
}
67
}
68
69
//________________________________________________________________________
70
Bool_t
AliEmcalParticleMaker::Run
()
71
{
72
// Create the emcal particles
73
74
if
(
fTracks
&&
fTracksOut
) {
75
// clear container (normally a null operation as the event should clean it already)
76
fTracksOut
->Delete();
77
const
Int_t Ntracks =
fTracks
->GetEntries();
78
for
(Int_t iTracks = 0; iTracks < Ntracks; ++iTracks) {
79
AliVTrack *track =
static_cast<
AliVTrack*
>
(
fTracks
->At(iTracks));
80
AliEmcalParticle
*ep =
new
((*fTracksOut)[iTracks])
AliEmcalParticle
(track, iTracks);
81
if
(0&&
fCaloClusters
)
82
ep->
SetMatchedPtr
(
fCaloClusters
);
83
}
84
}
85
86
if
(
fCaloClusters
&&
fCaloClustersOut
) {
87
// clear container (normally a null operation as the event should clean it already)
88
fCaloClustersOut
->Delete();
89
const
Int_t Nclusters =
fCaloClusters
->GetEntries();
90
for
(Int_t iClusters = 0, iN=0; iClusters < Nclusters; ++iClusters) {
91
AliVCluster *cluster =
static_cast<
AliVCluster*
>
(
fCaloClusters
->At(iClusters));
92
/* Commented because for simplicity prefer to keep indices aligned with clusters (CL)
93
if (!cluster->IsEMCAL()) continue;
94
*/
95
AliEmcalParticle
*ep =
new
((*fCaloClustersOut)[iN++])
AliEmcalParticle
(cluster, iClusters,
fVertex
[0],
fVertex
[1],
fVertex
[2]);
96
if
(0&&
fTracks
)
97
ep->
SetMatchedPtr
(
fTracks
);
98
}
99
}
100
return
kTRUE;
101
}
AliEmcalParticleMaker::ExecOnce
void ExecOnce()
Definition:
AliEmcalParticleMaker.cxx:47
AliEmcalParticleMaker::fCaloOutName
TString fCaloOutName
Definition:
AliEmcalParticleMaker.h:26
AliAnalysisTaskEmcal
Definition:
AliAnalysisTaskEmcal.h:27
AliEmcalParticleMaker::~AliEmcalParticleMaker
virtual ~AliEmcalParticleMaker()
Definition:
AliEmcalParticleMaker.cxx:41
AliEmcalParticle::SetMatchedPtr
void SetMatchedPtr(TObjArray *arr)
Definition:
AliEmcalParticle.h:69
AliEmcalParticleMaker::fTracksOutName
TString fTracksOutName
Definition:
AliEmcalParticleMaker.h:25
AliEmcalParticle.h
AliAnalysisTaskEmcal::AddObjectToEvent
void AddObjectToEvent(TObject *obj)
Definition:
AliAnalysisTaskEmcal.cxx:1383
AliEmcalParticleMaker::fCaloClustersOut
TClonesArray * fCaloClustersOut
track array out
Definition:
AliEmcalParticleMaker.h:28
AliAnalysisTaskEmcal::fCaloClusters
TClonesArray * fCaloClusters
tracks
Definition:
AliAnalysisTaskEmcal.h:186
AliEmcalParticleMaker.h
AliEmcalParticleMaker
Definition:
AliEmcalParticleMaker.h:10
AliEmcalParticleMaker::AliEmcalParticleMaker
AliEmcalParticleMaker()
AliEmcalParticleMaker::Run
Bool_t Run()
Definition:
AliEmcalParticleMaker.cxx:70
AliEmcalParticle
Definition:
AliEmcalParticle.h:11
ClassImp
ClassImp(AliEmcalParticleMaker) AliEmcalParticleMaker
Definition:
AliEmcalParticleMaker.cxx:16
AliEmcalParticleMaker::fTracksOut
TClonesArray * fTracksOut
Definition:
AliEmcalParticleMaker.h:27
AliAnalysisTaskEmcal::fTracks
TClonesArray * fTracks
emcal geometry
Definition:
AliAnalysisTaskEmcal.h:185
AliAnalysisTaskEmcal::fVertex
Double_t fVertex[3]
event plane V0C
Definition:
AliAnalysisTaskEmcal.h:195
AliAnalysisTaskEmcal::ExecOnce
virtual void ExecOnce()
Definition:
AliAnalysisTaskEmcal.cxx:635
AliAnalysisTaskEmcal::fInitialized
Bool_t fInitialized
Definition:
AliAnalysisTaskEmcal.h:144
PWG
EMCAL
AliEmcalParticleMaker.cxx
Generated on Mon Feb 15 2016 16:21:04 for AliPhysics by
1.8.6