]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSESDEntriesMakerComponent.cxx
- reconstruction classes no using the reco param handlers to get the reconstruction...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSESDEntriesMakerComponent.cxx
CommitLineData
87434909 1
2/**************************************************************************
3 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * *
5 * Authors: Oystein Djuvsland <oysteind@ift.uib.no> *
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#include <iostream>
18
19#include "AliHLTPHOSESDEntriesMakerComponent.h"
7fc04b67 20#include "AliHLTCaloClusterDataStruct.h"
87434909 21#include "AliHLTPHOSDigitDataStruct.h"
22#include "AliESDEvent.h"
23#include "AliHLTPHOSDefinitions.h"
24#include "AliHLTDataTypes.h"
25#include "AliESDCaloCluster.h"
7fc04b67 26#include "AliHLTESDCaloClusterMaker.h"
87434909 27
28/** @file AliHLTPHOSESDEntriesMakerComponent.cxx
29 @author Oystein Djuvsland
30 @date
31 @brief An ESD entries maker component for PHOS HLT
32*/
33
34// see header file for class documentation
35// or
36// refer to README to build package
37// or
38// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
39
40#if __GNUC__>= 3
41using namespace std;
42#endif
43
44AliHLTPHOSESDEntriesMakerComponent gAliHLTPHOSESDEntriesMakerComponent;
45
46AliHLTPHOSESDEntriesMakerComponent::AliHLTPHOSESDEntriesMakerComponent():
47 AliHLTPHOSProcessor(),
48 fESDCaloClusterMakerPtr(0),
49 fESDCaloClustersPtr(0)
50{
51 //See headerfile for documentation
52}
53
54AliHLTPHOSESDEntriesMakerComponent::~AliHLTPHOSESDEntriesMakerComponent()
55{
56 //See headerfile for documentation
57 if (fESDCaloClusterMakerPtr)
58 {
59 delete fESDCaloClusterMakerPtr;
60 fESDCaloClusterMakerPtr = 0;
61 }
62}
63
64int
65AliHLTPHOSESDEntriesMakerComponent::Deinit()
66{
67 //See headerfile for documentation
68 if (fESDCaloClusterMakerPtr)
69 {
70 delete fESDCaloClusterMakerPtr;
71 fESDCaloClusterMakerPtr = 0;
72 }
73 return 0;
74}
75
76const Char_t*
77AliHLTPHOSESDEntriesMakerComponent::GetComponentID()
78{
79 //See headerfile for documentation
80 return "PhosEsdEntriesMaker";
81}
82
83void
84AliHLTPHOSESDEntriesMakerComponent::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
85{
86 //See headerfile for documentation
87 list.clear();
88 list.push_back(AliHLTPHOSDefinitions::fgkCaloClusterDataType);
89}
90
91AliHLTComponentDataType
92AliHLTPHOSESDEntriesMakerComponent::GetOutputDataType()
93{
94 //See headerfile for documentation
95 return AliHLTPHOSDefinitions::fgkESDCaloClusterDataType;
96}
97
98void
99AliHLTPHOSESDEntriesMakerComponent::GetOutputDataSize(unsigned long& constBase, double& inputMultiplier )
100
101{
102 //See headerfile for documentation
103 constBase = 30;
104 inputMultiplier = 2;
105}
106
107Int_t
108AliHLTPHOSESDEntriesMakerComponent::DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/ )
109{
110
111 // see header file for class documentation
112
113 fESDCaloClustersPtr->Delete();
114 //fESDCaloClustersPtr = new TClonesArray(AliESDCaloCluster::Class(), 10);
7fc04b67 115 AliHLTCaloClusterHeaderStruct* caloClusterHeaderPtr = 0;
87434909 116
117 const AliHLTComponentBlockData* iter = 0;
b210e538 118 // UInt_t nClusters = 0;
87434909 119
120 UInt_t clusterSpecification = 0;
121 // UInt_t digitSpecification = 0;
122 //UInt_t nDigits = 0;
123
124 for ( iter = GetFirstInputBlock(AliHLTPHOSDefinitions::fgkCaloClusterDataType); iter != 0; iter = GetNextInputBlock())
125 {
126 clusterSpecification = clusterSpecification|iter->fSpecification;
7fc04b67 127 caloClusterHeaderPtr = reinterpret_cast<AliHLTCaloClusterHeaderStruct*>(iter->fPtr);
87434909 128 HLTDebug("%d HLT clusters", caloClusterHeaderPtr->fNClusters);
7fc04b67 129 // nClusters = fESDCaloClusterMakerPtr->FillESDCaloClusters(fESDCaloClustersPtr, caloClusterHeaderPtr);
87434909 130 }
131
132// for(iter = GetFirstInputBlock(AliHLTPHOSDefinitions::fgkDigitDataType); iter != 0; iter =GetNextInputBlock())
133// {
134// digitSpecification = digitSpecification|iter->fSpecification;
135// digitsPtr = reinterpret_cast<AliHLTPHOSDigitDataStruct*>(iter->fPtr);
136// nDigits = iter->fSize/sizeof(AliHLTPHOSDigitDataStruct);
137// fESDCaloCellMaker->FillESDCaloCells(fESDCaloCellsPtr, digitsPtr, nDigits);
138// }
139
140 // for(int i = 0; i < nClusters; i++)
141 // {
142 // HLTDebug("Cluster energy: %f", ((AliESDCaloCluster*)(fESDCaloClustersPtr->At(i)))->E());
143 // }
144
145 /// HLTError("Number of ESD clusters: %d", nClusters);
146 PushBack(fESDCaloClustersPtr, AliHLTPHOSDefinitions::fgkESDCaloClusterDataType|kAliHLTDataOriginPHOS);
147 // PushBack(fESDCaloCellsPtr, AliHLTPHOSDefinitions::fgkESDCaloCellsDataType|kAliHLTDataOriginPHOS, digitSpecification);
148
149 //delete fESDCaloClustersPtr;
150
151 return 0;
152}
153
154
155int
156AliHLTPHOSESDEntriesMakerComponent::DoInit(int argc, const char** argv )
157{
158 //See headerfile for documentation
159
7fc04b67 160 fESDCaloClusterMakerPtr = new AliHLTESDCaloClusterMaker();
87434909 161
162 fESDCaloClustersPtr = new TClonesArray(AliESDCaloCluster::Class(), 10);
163
164 ScanArgumentsModule(argc, argv);
165 for (int i = 0; i < argc; i++)
166 {
167
168 }
169
170 return 0;
171}
172
173AliHLTComponent*
174AliHLTPHOSESDEntriesMakerComponent::Spawn()
175{
176 //See headerfile for documentation
177
178 return new AliHLTPHOSESDEntriesMakerComponent();
179}