]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCCalibKr.h
more secure string operations
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibKr.h
CommitLineData
f6b58a9e 1#ifndef ALITPCCALIBKR_H\r
2#define ALITPCCALIBKR_H\r
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
4 * See cxx source for full Copyright notice */\r
5\r
6#include <TObject.h>\r
7#include <TObjArray.h>\r
8#include <TChain.h>\r
9#include <TTree.h>\r
10#include <TClonesArray.h>\r
11\r
12#include "AliTPCclusterKr.h"\r
13\r
14class TH3F;\r
15class TH1D;\r
16\r
17class AliTPCCalibKr : public TObject {\r
18\r
19public:\r
20 AliTPCCalibKr();\r
21 AliTPCCalibKr(const AliTPCCalibKr&); // copy constructor\r
22 virtual ~AliTPCCalibKr();\r
23\r
24 AliTPCCalibKr& operator=(const AliTPCCalibKr&); \r
25\r
26 //\r
27 void Init();\r
28 Bool_t Process(AliTPCclusterKr *cluster);\r
29 Bool_t Accept(AliTPCclusterKr *cluster);\r
30 Bool_t Update(AliTPCclusterKr *cluster);\r
31 TH3F* CreateHisto(Int_t chamber);\r
32\r
33 const TObjArray* GetHistoKrArray () {return &fHistoKrArray;} // get calibration object\r
34 TH3F* GetHistoKr(Int_t sector) const; // get refernce histogram\r
35\r
36 Bool_t IsCSide(Int_t chamber);\r
37 Bool_t IsIROC(Int_t chamber);\r
38\r
39 void Analyse();\r
40 static TH1D* ProjectHisto(TH3F* histo3D, const char* name = "_pz", Int_t firstxbin = 0, Int_t lastxbin = 0, Int_t firstybin = 0, Int_t lastybin = 0);\r
41\r
42 void SetASide(Bool_t bA = kTRUE) {fASide = bA;} // fill histo only A TPC side\r
43 void SetBSide(Bool_t bC = kTRUE) {fCSide = bC;} // fill histo only C TPC side\r
44\r
45 //Merge output objects (needed by PROOF)\r
46 virtual Long64_t Merge(TCollection* list);\r
47\r
48 // Setters\r
49 void SetADCOverClustSizeRange(Float_t min=0.0,Float_t max=1.0e9) {fADCOverClustSizeMin = min ; fADCOverClustSizeMax = max; }\r
50 void SetMaxADCOverClustADCRange(Float_t min=0.0,Float_t max=1.0e9) {fMaxADCOverClustADCMin = min ; fMaxADCOverClustADCMax = max; }\r
51 void SetTimeRange(Float_t min=0.0, Float_t max=1.0e9) {fTimeMin = min ; fTimeMax = max; }\r
52 void SetClustSizeRange(Float_t min=0.0, Float_t max=1.0e9) {fClustSizeMin = min ; fClustSizeMax = max; }\r
53\r
54 void SetTimebinRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fTimebinRmsIrocMin = iroc ; fTimebinRmsOrocMin = oroc; }\r
55 void SetPadRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fPadRmsIrocMin = iroc ; fPadRmsOrocMin = oroc; }\r
56 void SetRowRmsMin(Float_t iroc=0.0,Float_t oroc=0.0) {fRowRmsIrocMin = iroc ; fRowRmsOrocMin = oroc; }\r
57 void SetClusterPadSize1DMax(Short_t iroc=200,Short_t oroc=200) {fClusterPadSize1DIrocMax = iroc ; fClusterPadSize1DOrocMax = oroc; }\r
58 void SetCurveCoefficient(Float_t iroc=1.0e9,Float_t oroc=1.0e9) {fCurveCoefficientIroc = iroc ; fCurveCoefficientOroc = oroc; }\r
59\r
60private:\r
61\r
62 Bool_t fASide; //! Only A side\r
63 Bool_t fCSide; //! Only C side \r
64 TObjArray fHistoKrArray; // Calibration histograms for Kr distribution\r
65\r
66 Float_t fADCOverClustSizeMin; // min ADCcluster over Cluster size ratio\r
67 Float_t fADCOverClustSizeMax; // max ADCcluster over Cluster size ratio\r
68 Float_t fMaxADCOverClustADCMin; // min MaxADC over ADCcluster ratio \r
69 Float_t fMaxADCOverClustADCMax; // max MaxADC over ADCcluster ratio\r
70 Float_t fTimeMin; // min time bin for MaxADC\r
71 Float_t fTimeMax; // max time bin for MaxADC\r
72 Float_t fClustSizeMin; // min cluster size\r
73 Float_t fClustSizeMax; // max cluster size\r
74\r
75 Float_t fTimebinRmsIrocMin; // min Timebin RMS for IROCs\r
76 Float_t fPadRmsIrocMin; // min Pad RMS for IROCs\r
77 Float_t fRowRmsIrocMin; // min Row RMS for IROCs\r
78 Short_t fClusterPadSize1DIrocMax; // max size of cluster in pad dir. for IROCs \r
79 Float_t fCurveCoefficientIroc; // A coefficient in curve function for IROCs\r
80\r
81 Float_t fTimebinRmsOrocMin; // min Timebin RMS for OROCs\r
82 Float_t fPadRmsOrocMin; // min Pad RMS for OROCs\r
83 Float_t fRowRmsOrocMin; // min Row RMS for OROCs\r
84 Short_t fClusterPadSize1DOrocMax; // max size of cluster in pad dir. for OROCs \r
85 Float_t fCurveCoefficientOroc; // A coefficient in curve function for OROCs\r
86\r
87\r
88public:\r
89 ClassDef(AliTPCCalibKr, 2) // Implementation of the TPC krypton calibration\r
90};\r
91\r
92#endif\r
93\r