]>
Commit | Line | Data |
---|---|---|
6727e2db | 1 | #ifndef ALIITSONLINESPDPHYSANALYZER_H |
2 | #define ALIITSONLINESPDPHYSANALYZER_H | |
3 | /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //////////////////////////////////////////////////////////// | |
7 | // Author: Henrik Tydesjo // | |
8 | // This class is used in the detector algorithm framework // | |
9 | // to process the data stored in special container files // | |
10 | // (see AliITSOnlineSPDphys). // | |
11 | //////////////////////////////////////////////////////////// | |
12 | ||
13 | #include <TString.h> | |
14 | ||
15 | class AliITSOnlineSPDphys; | |
16 | class AliITSOnlineCalibrationSPDhandler; | |
17 | class TGraph; | |
18 | class TH2F; | |
19 | ||
20 | class AliITSOnlineSPDphysAnalyzer { | |
21 | ||
22 | public: | |
6ddf3d66 | 23 | AliITSOnlineSPDphysAnalyzer(const Char_t *fileName, AliITSOnlineCalibrationSPDhandler* handler, Bool_t readFromGridFile=kFALSE); |
6727e2db | 24 | AliITSOnlineSPDphysAnalyzer(AliITSOnlineSPDphys* physObj, AliITSOnlineCalibrationSPDhandler* handler); |
25 | AliITSOnlineSPDphysAnalyzer(const AliITSOnlineSPDphysAnalyzer& handle); | |
26 | ~AliITSOnlineSPDphysAnalyzer(); | |
27 | ||
28 | AliITSOnlineSPDphysAnalyzer& operator=(const AliITSOnlineSPDphysAnalyzer& handle); | |
29 | ||
30 | void SetCalibHandler(AliITSOnlineCalibrationSPDhandler *handler) {fHandler=handler;} | |
31 | void SetParam(const Char_t *pname, const Char_t *pval); | |
32 | void ReadParamsFromLocation(const Char_t *dirName); | |
33 | ||
34 | UInt_t ProcessDeadPixels(); | |
35 | UInt_t ProcessNoisyPixels(); | |
c53f028c | 36 | UInt_t ProcessNoisyPixels(UInt_t eq, UInt_t nrEvts); |
6727e2db | 37 | |
38 | UInt_t GetNrEnoughStatChips(); | |
39 | UInt_t GetNrDeadChips(); | |
40 | UInt_t GetNrInefficientChips(); | |
41 | UInt_t GetNrNeedsMoreStatChips(); | |
42 | ||
43 | AliITSOnlineSPDphys* GetOnlinePhys() {return fPhysObj;} | |
44 | UInt_t GetEqNr() const; | |
45 | UInt_t GetNrEvents() const; | |
46 | ||
47 | TH2F* GetHitMapTot(); | |
48 | TH2F* GetHitMapChip(UInt_t hs, UInt_t chip); | |
49 | ||
50 | private: | |
51 | TString fFileName; // container file name | |
52 | enum calibvals{kMINTH,kMEANTH,kDAC,kUNIMA,kNOISE,kDELAY}; // calib types | |
53 | AliITSOnlineSPDphys *fPhysObj; // container obj | |
54 | AliITSOnlineCalibrationSPDhandler *fHandler; // calib helper obj | |
6ddf3d66 | 55 | void Init(Bool_t readFromGridFile=kFALSE); // initialization |
6727e2db | 56 | void Exponent(Double_t &val, Int_t &valExp) const; |
57 | ||
58 | UInt_t fNrEnoughStatChips; // nr of enough stat chips | |
59 | UInt_t fNrDeadChips; // nr of dead chips | |
60 | UInt_t fNrInefficientChips; // nr of inefficient chips | |
61 | ||
62 | Double_t fNrEqHits; // total nr of hits for associated eq | |
63 | Bool_t fbDeadProcessed; // flag to tell if ProcessDeadPixels has been called | |
64 | ||
65 | // dead noisy parameters: | |
66 | Double_t fThreshNoisy; // at what confidence level do we search for noisy | |
6727e2db | 67 | Double_t fThreshDead; // at what confidence level do we search for dead |
6727e2db | 68 | UInt_t fMinEventsForNoisy; // min nr of events required to try noisy algorithm |
69 | UInt_t fMinEventsForDead; // min nr of events required to try dead algorithm | |
70 | Float_t fDefinitelyNoisyRatio; // if a pixel fires more than this ratio of the events, it must be noisy | |
71 | Double_t fMinNrEqHitsForDeadChips; // minimum nr of hits for eq to assign dead chip | |
72 | Double_t fRatioToMeanForInefficientChip; // ratio to mean nr of hits per chip to assign ineff. chip | |
73 | ||
74 | ||
75 | }; | |
76 | ||
77 | #endif |