]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSHistogramProducer.h
Add new fast raw data streamer
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSHistogramProducer.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
9bf87c6f 4 /**************************************************************************
5 * This file is property of and copyright by the ALICE HLT Project *
6 * All rights reserved. *
7 * *
8 * Primary Authors: Oystein Djuvsland *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19#ifndef ALIHLTPHOSHISTOGRAMPRODUCER_H
20#define ALIHLTPHOSHISTOGRAMPRODUCER_H
21
22
23/**
24 * Class does
25 *
26 * @file AliHLTPHOSHistogramProducer.h
27 * @author Oystein Djuvsland
28 * @date
29 * @brief
30 */
31
32// see header file for class documentation
33// or
34// refer to README to build package
35// or
36// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
37
38#include "AliHLTPHOSBase.h"
39
40class TH1D;
41class TNtuple;
42class AliHLTPHOSCaloClusterContainerStruct;
d8122453 43
9bf87c6f 44/**
45 * @class AliHLTPHOSHistogramProducer
46 *
47 * @ingroup alihlt_phos
48 */
49class AliHLTPHOSHistogramProducer : public AliHLTPHOSBase
50{
51
52public:
53
54 AliHLTPHOSHistogramProducer();
55 ~AliHLTPHOSHistogramProducer();
56
e304ea31 57
58 AliHLTPHOSHistogramProducer(const AliHLTPHOSHistogramProducer &) :
59 AliHLTPHOSBase(),
60 fClusterEnergiesHistPtr(0),
61 fMultiplicitiesHistPtr(0),
62 fClusterNtuplePtr(0),
63 fFillClusterEnergies(false),
64 fFillMultiplicities(false),
65 fFillNtuple(false),
66 fMaxNtupleEntries(1000000000)
67 {
68 //comment
69 }
70
71 AliHLTPHOSHistogramProducer & operator = (const AliHLTPHOSHistogramProducer)
72 {
73 //Assignment
74 return *this;
75 }
76
9bf87c6f 77 Int_t Fill(AliHLTPHOSCaloClusterContainerStruct* clusterContainerPtr);
78
79 Int_t InitializeObjects();
80
81 TH1D* GetClusterEnergiesHistogram() { return fClusterEnergiesHistPtr; }
82 TH1D* GetMultiplicitiesHistogram() { return fMultiplicitiesHistPtr; }
83 TNtuple* GetClusterNtuple() { return fClusterNtuplePtr; }
84
85 void SetFillClusterEnergies(bool val) { fFillClusterEnergies = val; }
86 void SetFillMultiplicities(bool val) { fFillMultiplicities = val; }
87 void SetFillClusterNtuple(bool val) { fFillNtuple = val; }
88 void SetMaxNtupleEntries(Int_t n) { fMaxNtupleEntries = n; }
89
90private:
e304ea31 91
9bf87c6f 92 TH1D* fClusterEnergiesHistPtr;
93 TH1D* fMultiplicitiesHistPtr;
94 TNtuple* fClusterNtuplePtr;
95
96 bool fFillClusterEnergies;
97 bool fFillMultiplicities;
98 bool fFillNtuple;
99
100 Int_t fMaxNtupleEntries;
101
102};
9bf87c6f 103#endif
d8122453 104