]>
Commit | Line | Data |
---|---|---|
f0aa5f6c | 1 | #ifndef ALIITSONLINESPDSCANANALYZER_H |
2 | #define ALIITSONLINESPDSCANANALYZER_H | |
3 | ||
4 | //////////////////////////////////////////////////////////// | |
5 | // Author: Henrik Tydesjo // | |
6 | // This class is used in the detector algorithm framework // | |
7 | // to process the data stored in special container files // | |
8 | // (see AliITSOnlineSPDscan). For instance, minimum // | |
9 | // threshold values can be calculated. // | |
10 | //////////////////////////////////////////////////////////// | |
11 | ||
12 | #include <Rtypes.h> | |
13 | ||
14 | class AliITSOnlineSPDscan; | |
15 | class AliITSOnlineCalibrationSPDhandler; | |
16 | class TGraph; | |
17 | class TH2F; | |
18 | ||
19 | class AliITSOnlineSPDscanAnalyzer { | |
20 | ||
21 | public: | |
22 | AliITSOnlineSPDscanAnalyzer(Char_t *fileName); | |
23 | AliITSOnlineSPDscanAnalyzer(const AliITSOnlineSPDscanAnalyzer& handle); | |
24 | ~AliITSOnlineSPDscanAnalyzer(); | |
25 | ||
26 | AliITSOnlineSPDscanAnalyzer& operator=(const AliITSOnlineSPDscanAnalyzer& handle); | |
27 | ||
28 | UInt_t GetType() const {return fType;} | |
29 | UInt_t GetDacId() const {return fDacId;} | |
30 | ||
31 | Int_t GetDelay(UInt_t hs, UInt_t chipNr); | |
32 | Int_t GetMinTh(UInt_t hs, UInt_t chipNr); | |
33 | ||
34 | Int_t GetNrNoisyUnima(UInt_t hs, UInt_t chipNr); | |
35 | ||
36 | Bool_t ProcessDeadPixels(Char_t *oldCalibDir); | |
37 | Bool_t ProcessNoisyPixels(Char_t *oldCalibDir); | |
38 | Bool_t SaveDeadNoisyPixels(UInt_t module, Char_t *calibDir); | |
39 | ||
40 | Bool_t ProcessNrTriggers(); | |
41 | ||
42 | AliITSOnlineCalibrationSPDhandler* GetOnlineCalibrationHandler(UInt_t module); | |
43 | AliITSOnlineSPDscan* GetOnlineScan() {return fScanObj;} | |
44 | UInt_t GetRouterNr(); | |
45 | Bool_t GetHalfStavePresent(UInt_t hs); | |
46 | ||
47 | TGraph* GetNrTriggersG(); | |
48 | TGraph* GetMeanMultiplicityG(UInt_t hs, UInt_t chipNr); | |
49 | TGraph* GetHitEventEfficiencyG(UInt_t hs, UInt_t chipNr); | |
50 | TH2F* GetHitMapTot(UInt_t step); | |
51 | ||
52 | ||
53 | private: | |
54 | UInt_t fType; // calib type | |
55 | UInt_t fDacId; // dac id | |
56 | Char_t fFileName[100]; // container file name | |
57 | enum calibvals{kMINTH,kMEANTH,kDAC,kUNIMA,kNOISE,kDELAY}; // calib types | |
58 | ||
59 | AliITSOnlineSPDscan *fScanObj; // container obj | |
60 | AliITSOnlineCalibrationSPDhandler *fHandler[240]; // calib help objs | |
61 | ||
62 | TGraph* fMeanMultiplicity[6][11]; // mean mult graphs | |
63 | TGraph* fHitEventEfficiency[6][11]; // hit event graphs | |
64 | TGraph* fTriggers; // trigger graph | |
65 | ||
66 | void Init(); // init | |
67 | ||
68 | Bool_t ProcessMeanMultiplicity(); // process mean mult | |
69 | Bool_t ProcessHitEventEfficiency();// process hit event eff | |
70 | ||
71 | Int_t FindLastMinThDac(UInt_t hs, UInt_t chipNr); // dac value where fMinIncreaseFromBaseLine reached | |
72 | Int_t FindClosestLowerStep(Float_t dacValueInput); // step closest (lower) to a dacvalue | |
73 | Float_t GetCompareLine(UInt_t step, UInt_t hs, UInt_t chipNr, Float_t basePar2); // line to compare mean mult with | |
74 | ||
75 | // dead noisy parameters: | |
76 | Bool_t fOverWrite; // overWrite old dead/noisy or just add new ones to it | |
77 | // noise scan parameters: | |
78 | Float_t fNoiseThreshold; // ratio of allowed hits/triggers | |
79 | UInt_t fNoiseMinimumEvents; // minimum events required to find noisy pixels | |
80 | // min th scan parameters: | |
81 | UInt_t fMinNrStepsBeforeIncrease; // min nr of steps required before fMinIncreaseFromBaseLine reached | |
82 | Float_t fMinIncreaseFromBaseLine; // min increase of mean mult from base line | |
83 | UInt_t fStepDownDacSafe; // nr of steps down to put threshold result (to be on the safe side) | |
84 | Float_t fMaxBaseLineLevel; // maximum value for the base line to compare with | |
85 | ||
86 | }; | |
87 | ||
88 | #endif |