AliPhysics
c0d7b22 (c0d7b22)
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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
Base task in the EMCAL framework.
Definition:
AliAnalysisTaskEmcal.h:66
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
AliEmcalParticleMaker::fCaloClustersOut
TClonesArray * fCaloClustersOut
track array out
Definition:
AliEmcalParticleMaker.h:28
AliAnalysisTaskEmcal::fCaloClusters
TClonesArray * fCaloClusters
!clusters
Definition:
AliAnalysisTaskEmcal.h:303
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
!tracks
Definition:
AliAnalysisTaskEmcal.h:302
AliAnalysisTaskEmcal::fVertex
Double_t fVertex[3]
!event vertex
Definition:
AliAnalysisTaskEmcal.h:312
AliAnalysisTaskEmcal::ExecOnce
virtual void ExecOnce()
Definition:
AliAnalysisTaskEmcal.cxx:818
AliAnalysisTaskEmcal::AddObjectToEvent
void AddObjectToEvent(TObject *obj, Bool_t attempt=kFALSE)
Definition:
AliAnalysisTaskEmcal.cxx:1803
AliAnalysisTaskEmcal::fInitialized
Bool_t fInitialized
whether or not the task has been already initialized
Definition:
AliAnalysisTaskEmcal.h:252
PWG
EMCAL
EMCALtasks
AliEmcalParticleMaker.cxx
Generated on Wed Jun 15 2016 16:51:08 for AliPhysics by
1.8.6