]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDMaker.cxx
added TPC Krypton CF and associated component (Kenneth)
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDMaker.cxx
CommitLineData
5f96dd31 1/**************************************************************************
2 * This file is property of and copyright by the ALICE HLT Project *
3 * All rights reserved. *
4 * *
5 * Primary Authors: Oystein Djuvsland *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/**
17 * @file AliHLTPHOSESDMaker.cxx
18 * @author Oystein Djuvsland
19 * @date
20 * @brief ESD maker for PHOS HLT
21 */
22
23// see header file for class documentation
24// or
25// refer to README to build package
26// or
27// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
28
29#include "AliHLTPHOSESDMaker.h"
30#include "AliHLTPHOSCaloClusterContainerStruct.h"
31#include "AliHLTPHOSBase.h"
32#include "AliHLTPHOSCaloClusterDataStruct.h"
33#include "AliESDEvent.h"
34#include "AliESDCaloCluster.h"
35#include "TClonesArray.h"
36
37ClassImp(AliHLTPHOSESDMaker);
38
39AliHLTPHOSESDMaker::AliHLTPHOSESDMaker() :
40 AliHLTPHOSBase(),
41 fNCaloClusters(0),
42 fCaloClustersPtr(0),
43 fESDEventPtr(0),
44 fCaloClusterContainerPtr(0)
45{
46 //See header file for documentation
47 fCaloClustersPtr = new TClonesArray("AliESDCaloCluster", 0);
48}
49
50AliHLTPHOSESDMaker::~AliHLTPHOSESDMaker()
51{
52 //See header file for documentation
53 if(fCaloClustersPtr)
54 {
25b7f84c 55 //fCaloClustersPtr->Delete();
56 //fCaloClustersPtr = 0;
5f96dd31 57 }
58}
59
60Int_t
61AliHLTPHOSESDMaker::FillESDCaloClusters()
62{
63 //See header file for documentation
64
65 AliESDCaloCluster *caloCluster = 0;
66 AliHLTPHOSCaloClusterDataStruct* caloClusterStruct = 0;
67
25b7f84c 68 for(UInt_t i = 0; i < fCaloClusterContainerPtr->fNCaloClusters; i++)
5f96dd31 69 {
70 caloCluster = (AliESDCaloCluster*)fCaloClustersPtr->At(i + fNCaloClusters);
71 caloClusterStruct = &(fCaloClusterContainerPtr->fCaloClusterArray[i]);
72 caloCluster->SetID(caloClusterStruct->fID);
73 caloCluster->SetClusterType(caloClusterStruct->fClusterType);
74 caloCluster->SetPosition((Float_t*)&caloClusterStruct->fGlobalPos[0]);
75 caloCluster->SetE(caloClusterStruct->fEnergy);
76 caloCluster->SetClusterDisp(caloClusterStruct->fDispersion);
77 caloCluster->SetClusterChi2(caloClusterStruct->fFitQuality);
78 caloCluster->SetPid((Float_t*)&caloClusterStruct->fPID[0]);
79 caloCluster->SetM20(caloClusterStruct->fM20);
80 caloCluster->SetM02(caloClusterStruct->fM02);
81 caloCluster->SetM11(caloClusterStruct->fM11);
82 caloCluster->SetNExMax(caloClusterStruct->fNExMax);
83 caloCluster->SetEmcCpvDistance(caloClusterStruct->fEmcCpvDistance);
84 caloCluster->SetDistanceToBadChannel(caloClusterStruct->fDistToBadChannel);
85 caloCluster->SetNCells(caloClusterStruct->fNCells);
86 caloCluster->SetCellsAbsId(caloClusterStruct->fCellsAbsId);
87 caloCluster->SetCellsAmplitudeFraction(caloClusterStruct->fCellsAmpFraction);
88 fNCaloClusters++;
89 }
90
91 return 0;
92}
93
94Int_t
95AliHLTPHOSESDMaker::FillESDEvent()
96{
97 //See header file for documentation
98
99 AliESDCaloCluster *caloCluster = 0;
100 AliHLTPHOSCaloClusterDataStruct* caloClusterStruct = 0;
25b7f84c 101 for(UInt_t i = 0; i < fCaloClusterContainerPtr->fNCaloClusters; i++)
5f96dd31 102 {
103 // caloCluster = (AliESDCaloCluster*)fCaloClustersPtr->New(i + fNCaloClusters);
104 caloCluster = (AliESDCaloCluster*)fCaloClustersPtr->New(i);
105 caloClusterStruct = &(fCaloClusterContainerPtr->fCaloClusterArray[i]);
8efbf5fe 106
5f96dd31 107 caloCluster->SetID(caloClusterStruct->fID);
108 caloCluster->SetClusterType(caloClusterStruct->fClusterType);
109 caloCluster->SetPosition((Float_t*)&caloClusterStruct->fGlobalPos[0]);
110 caloCluster->SetE(caloClusterStruct->fEnergy);
111 caloCluster->SetClusterDisp(caloClusterStruct->fDispersion);
112 caloCluster->SetClusterChi2(caloClusterStruct->fFitQuality);
113 caloCluster->SetPid((Float_t*)&caloClusterStruct->fPID[0]);
114 caloCluster->SetM20(caloClusterStruct->fM20);
115 caloCluster->SetM02(caloClusterStruct->fM02);
116 caloCluster->SetM11(caloClusterStruct->fM11);
117 caloCluster->SetNExMax(caloClusterStruct->fNExMax);
118 caloCluster->SetEmcCpvDistance(caloClusterStruct->fEmcCpvDistance);
119 caloCluster->SetDistanceToBadChannel(caloClusterStruct->fDistToBadChannel);
120 caloCluster->SetNCells(caloClusterStruct->fNCells);
121 caloCluster->SetCellsAbsId(caloClusterStruct->fCellsAbsId);
122 caloCluster->SetCellsAmplitudeFraction(caloClusterStruct->fCellsAmpFraction);
123 fESDEventPtr->AddCaloCluster(caloCluster);
5f96dd31 124 fNCaloClusters++;
125 }
126
127 return 0;
128}
25b7f84c 129Int_t
130AliHLTPHOSESDMaker::FillESDEvent(AliHLTPHOSCaloClusterContainerStruct* caloClusterContainerPtr)
131{
132 //See header file for documentation
b444d727 133
134 caloClusterContainerPtr--;
135 caloClusterContainerPtr++;
25b7f84c 136
b444d727 137 // AliESDCaloCluster *caloCluster = 0;
138 // AliHLTPHOSCaloClusterDataStruct* caloClusterStruct = 0;
25b7f84c 139
140 for(UInt_t i = 0; i < 1/*caloClusterContainerPtr->fNCaloClusters*/; i++)
141 {
142 // caloCluster = (AliESDCaloCluster*)fCaloClustersPtr->New(i + fNCaloClusters);
143 //caloCluster = (AliESDCaloCluster*)fCaloClustersPtr->New(i + fNCaloClusters);
144 /* caloClusterStruct = &(caloClusterContainerPtr->fCaloClusterArray[i]);
145 caloCluster->SetID(caloClusterStruct->fID);
146 caloCluster->SetClusterType(caloClusterStruct->fClusterType);
147 caloCluster->SetPosition((Float_t*)&caloClusterStruct->fGlobalPos[0]);
148 caloCluster->SetE(caloClusterStruct->fEnergy);
149 caloCluster->SetClusterDisp(caloClusterStruct->fDispersion);
150 caloCluster->SetClusterChi2(caloClusterStruct->fFitQuality);
151 caloCluster->SetPid((Float_t*)&caloClusterStruct->fPID[0]);
152 caloCluster->SetM20(caloClusterStruct->fM20);
153 caloCluster->SetM02(caloClusterStruct->fM02);
154 caloCluster->SetM11(caloClusterStruct->fM11);
155 caloCluster->SetNExMax(caloClusterStruct->fNExMax);
156 caloCluster->SetEmcCpvDistance(caloClusterStruct->fEmcCpvDistance);
157 caloCluster->SetDistanceToBadChannel(caloClusterStruct->fDistToBadChannel);
158 caloCluster->SetNCells(caloClusterStruct->fNCells);
159 caloCluster->SetCellsAbsId(caloClusterStruct->fCellsAbsId);
160 caloCluster->SetCellsAmplitudeFraction(caloClusterStruct->fCellsAmpFraction);
161 fESDEventPtr->AddCaloCluster(caloCluster);
8efbf5fe 162 */
25b7f84c 163 fNCaloClusters++;
164 }
165
166 return 0;
167}
5f96dd31 168
169void
170AliHLTPHOSESDMaker::ResetESD()
171{
172 fNCaloClusters = 0;
25b7f84c 173 // fCaloClustersPtr->Delete();
5f96dd31 174}
175