]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCclustererKr.h
- Small fix in data ownership by containers
[u/mrichter/AliRoot.git] / TPC / AliTPCclustererKr.h
CommitLineData
9a1e27fe 1#ifndef ALITPCCLUSTERERKR_H
2#define ALITPCCLUSTERERKR_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliTPCclusterKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */
7
8//-------------------------------------------------------
422897da 9// TPC Kr Clusterer Class
9a1e27fe 10//
11// Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
12//-------------------------------------------------------
13
9a1e27fe 14#include "TObject.h"
422897da 15
16class AliTPCclusterKr;
17class AliPadMax;
18class AliSimDigits;
19class AliTPCv4;
20class AliTPCParam;
21class AliTPCDigitsArray;
22class AliTPCvtpr;
23class AliTPCClustersRow;
24class TTree;
25class TH1F;
26class TH2F;
9a1e27fe 27
28//used in raw data finder
422897da 29class AliTPCROC;
30class AliTPCCalPad;
31class AliTPCAltroMapping;
32class AliTPCcalibDB;
33class AliTPCRawStream;
34class AliTPCRecoParam;
35class AliTPCReconstructor;
36class AliRawReader;
37class AliTPCCalROC;
9a1e27fe 38
39//_____________________________________________________________________________
40class AliTPCclustererKr: public TObject{
41public:
42 AliTPCclustererKr();
43 AliTPCclustererKr(const AliTPCclustererKr &param);//copy constructor
44 AliTPCclustererKr &operator = (const AliTPCclustererKr & param);
422897da 45 virtual ~AliTPCclustererKr();
9a1e27fe 46
47 //finders
422897da 48 virtual Int_t FinderIO();//for MC
49 virtual Int_t FinderIO(AliRawReader* rawReader);//for data
50 virtual Int_t FindClusterKrIO();//main routine for finding clusters
b67657b5 51
52 //other
53 void GetXY(Short_t sec,Short_t row,Short_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad
9a1e27fe 54
55 virtual void SetInput(TTree * tree); //set input tree with digits
56 virtual void SetOutput(TTree * tree); //set output tree with clusters
422897da 57 virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters
58 virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits
59 virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters
9a1e27fe 60
422897da 61
9a1e27fe 62
b67657b5 63 //setters for cluster finder parameters
422897da 64 virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter
65 virtual void SetFirstBin(Short_t v){fFirstBin=v;}//set first considered timebin
66 virtual void SetLastBin(Short_t v){fLastBin=v;}//set last considered timebin
67 virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value
68 virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma
69
70 virtual void SetMinAdc(Short_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc
71 virtual void SetMinTimeBins(Short_t v){fMinTimeBins=v;}//set fMinTimeBins
72// virtual void SetMaxPadRange(Short_t v){fMaxPadRange=v;}//set fMaxPadRange
73// virtual void SetMaxRowRange(Short_t v){fMaxRowRange=v;}//set fMaxRowRange
74 virtual void SetMaxTimeRange(Short_t v){fMaxTimeRange=v;}//set fMaxTimeRange
75 virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize
76
77 virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm
78 virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm
79
80 virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;}
81 //debug = 0 to 71 -sector number to print
82 // = 72 - all sectors
83 // = 73 - inners
84 // = 74 - outers
85
86 virtual void SetHistoRow(TH1F *histo) {fHistoRow =histo;}
87 virtual void SetHistoPad(TH1F *histo) {fHistoPad =histo;}
88 virtual void SetHistoTime(TH1F *histo) {fHistoTime =histo;}
89 virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;}
b67657b5 90
91 //getters for cluster finder parameters
422897da 92 Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter
93 Short_t GetFirstBin() const {return fFirstBin;}//get first considered timebin
94 Short_t GetLastBin() const {return fLastBin;}//get last considered timebin
95 Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value
96 Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma
97
98 Short_t GetMinAdc() const {return fMinAdc;}//get fMinAdc
99 Short_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins
100// Short_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange
101// Short_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange
102 Short_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange
103 Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize
104
105 Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm
106 Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm
107
108 Int_t GetDebugLevel() const {return fDebugLevel;}
109 TH1F * GetHistoRow(){return fHistoRow;}
110 TH1F * GetHistoPad(){return fHistoPad;}
111 TH1F * GetHistoTime(){return fHistoTime;}
112 TH2F * GetHistoRowPad(){return fHistoRowPad;}
113
9a1e27fe 114private:
422897da 115 Bool_t fRawData; //flag =0 for MC =1 for real data
116 AliTPCClustersRow * fRowCl; //! current cluster row (used in rootuple fill)
117
9a1e27fe 118 TTree * fInput; //!input tree with digits - object not owner
119 TTree * fOutput; //!output tree with clusters - object not owner
120 AliTPCParam * fParam;//!TPC parameters
121 AliTPCDigitsArray *fDigarr;//! pointer to current array if digits
122
123 //only for raw data :)
124 const AliTPCRecoParam * fRecoParam; //! reconstruction parameters
9a1e27fe 125
b67657b5 126 //cluster finder parameters
127 Int_t fZeroSup;//zero suppresion parameter = 2 def.
128 Short_t fFirstBin;//first considered time bin used by cluster finder = 60 def.
129 Short_t fLastBin;//last considered time bin used by cluster finder = 950 def.
130 Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.
131 Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.
132
133 Short_t fMinAdc;//minimal value of acd count in each timebin = 3 def.
134 Short_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.
135// Short_t fMaxPadRange;//maximal pad range from maximum = 4 def.
136// Short_t fMaxRowRange;//maximal row range from maximum = 3 def.
137 Short_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.
138 Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.
139
140 Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.
141 Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.
142
422897da 143 Int_t fDebugLevel;//! debug level variable
144 TH1F *fHistoRow;//!debug histo for rows
145 TH1F *fHistoPad;//!debug histo for pads
146 TH1F *fHistoTime;//!debug histo for timebins
147 TH2F *fHistoRowPad;//!debug histo for rows and pads
148
9a090ccd 149 ClassDef(AliTPCclustererKr,5) // Time Projection Chamber Kr clusters
9a1e27fe 150};
151
152
153#endif
154
155