]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/global/physics/AliHLTCaloHistoComponent.h
adding PrimaryVertexFinder and V0Finder component to registration, to be consolidated...
[u/mrichter/AliRoot.git] / HLT / global / physics / AliHLTCaloHistoComponent.h
CommitLineData
766aafea 1//-*- Mode: C++ -*-
2/**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
5 * *
6 * Primary Authors: Oystein Djuvsland, Svein Lindal *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
16
17#ifndef ALIHLTCALOHISTOCOMPONENT_H
18#define ALIHLTCALOHISTOCOMPONENT_H
19
20/**
21 *
22 *
23 * @file AliHLTCaloHistoComponent.cxx
24 * @author Svein Lindal
25 * @date
26 * @brief
27*/
28
29// see below for class documentation
30// or
31// refer to README to build package
32// or
33// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
34
35#include "AliHLTProcessor.h"
36
37#include "Rtypes.h"
38
39class AliHLTPHOSPhysicsHistogramProducer;
40class AliHLTCaloHistoCellEnergy;
41class AliHLTCaloHistoClusterEnergy;
42class AliHLTCaloHistoInvMass;
43class AliHLTCaloHistoMatchedTracks;
44class TRefArray;
e0cde76d 45class AliHLTCaloClusterReader;
ce063697 46class TObjArray;
766aafea 47/**
48 * @class AliHLTPHOSHistogramProducerComponent
49 *
50 *
51 * @ingroup alihlt_phos
52 */
53
ce063697 54class AliHLTCaloHistoComponent : public AliHLTProcessor {
766aafea 55
56 public:
57
58 /** Constructor */
59 AliHLTCaloHistoComponent();
60 /** Destructor */
61 virtual ~AliHLTCaloHistoComponent();
62
63 /** interface function, see @ref AliHLTComponent for description */
64 const char* GetComponentID();
65
66 /** interface function, see @ref AliHLTComponent for description */
67 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
68
69 /** interface function, see @ref AliHLTComponent for description */
70 AliHLTComponentDataType GetOutputDataType();
71
72 /** interface function, see @ref AliHLTComponent for description */
73 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
74 /** interface function, see @ref AliHLTComponent for description */
75 AliHLTComponent* Spawn();
76
77
78protected:
79
80 /** interface function, see @ref AliHLTComponent for description */
81 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
82 /** interface function, see @ref AliHLTComponent for description */
83 int DoInit(int argc, const char** argv);
84 /** interface function, see @ref AliHLTComponent for description */
85 int DoDeinit();
86
87 using AliHLTProcessor::DoEvent;
88
89 private:
90
91 /** Copy constructor prohibited*/
92 AliHLTCaloHistoComponent(const AliHLTCaloHistoComponent & );
93 /** asssignment operator prohibited */
94 AliHLTCaloHistoComponent& operator=(const AliHLTCaloHistoComponent&);
95
ce063697 96 /** function to get data content from blocks and pass it on to histogram produsers*/
97 Int_t ProcessBlocks(const AliHLTComponentBlockData * pBlock, TObjArray * histoArray);
766aafea 98
ce063697 99 AliHLTCaloClusterReader * fClusterReader; //!transient Class to read cluster data structs
100
101 TRefArray * fEmcalClustersArray; //!transient Array to contain EMCAL Clusters
102 TRefArray * fPhosClustersArray; //!transient Array to contain PHOS Clusters
766aafea 103
bff00215 104 TObjArray * fPhosProducerArray; //!transient
105 TObjArray * fEmcalProducerArray; //!transient
106
ce063697 107 TObjArray * fPhosHistogramArray; //!transient
108 TObjArray * fEmcalHistogramArray; //!transient
109
bff00215 110
ce063697 111 Bool_t fDoEmcal; //Fill EMCAL histos?
112 Bool_t fDoPhos; //Fill PHOS histos?
a5856bc0 113
114 Bool_t fCutOnCentrality; // Cut on centrality on cluters with high energy
115 Float_t fCentralityCut; //How large fraction of the energy do we want in the central tower to make the cut?
116 Float_t fCentralityCutEnergy; //The minimum energy of the cluster to make the cut.
e0cde76d 117
ce063697 118 ClassDef(AliHLTCaloHistoComponent, 0);
766aafea 119
120};
121
122#endif