#ifndef ALIITSONLINESPDSCANANALYZER_H
#define ALIITSONLINESPDSCANANALYZER_H
#include <TString.h>
#include <TH1F.h>
class AliITSOnlineSPDscan;
class AliITSOnlineCalibrationSPDhandler;
class TGraph;
class TH2F;
class TArrayI;
class AliITSOnlineSPDscanAnalyzer {
public:
AliITSOnlineSPDscanAnalyzer(const Char_t *fileName, AliITSOnlineCalibrationSPDhandler *handler, Bool_t readFromGridFile=kFALSE);
AliITSOnlineSPDscanAnalyzer(const AliITSOnlineSPDscanAnalyzer& handle);
~AliITSOnlineSPDscanAnalyzer();
AliITSOnlineSPDscanAnalyzer& operator=(const AliITSOnlineSPDscanAnalyzer& handle);
Bool_t IsChipPresent(UInt_t hs, UInt_t chipNr);
Bool_t IsOverWriteSet() const {return fOverWrite;}
void SetCalibHandler(AliITSOnlineCalibrationSPDhandler * const handler) {fHandler=handler;}
void SetParam(const Char_t *pname, const Char_t *pval);
void ReadParamsFromLocation(const Char_t *dirName);
UInt_t GetType() const {return fType;}
UInt_t GetDacId() const {return fDacId;}
Int_t GetDelay(UInt_t hs, UInt_t chipNr);
Int_t GetMinTh(UInt_t hs, UInt_t chipNr);
TArrayI GetMeanTh(UInt_t hs, UInt_t chipNr);
Int_t GetNrNoisyUnima(UInt_t hs, UInt_t chipNr);
Bool_t ProcessUniformity();
Bool_t ProcessDeadPixels();
Bool_t ProcessNoisyPixels();
Bool_t ProcessNrTriggers();
AliITSOnlineSPDscan* GetOnlineScan() const {return fScanObj;}
UInt_t GetRouterNr();
Bool_t GetHalfStavePresent(UInt_t hs);
TGraph* GetNrTriggersG();
TGraph* GetMeanMultiplicityG(UInt_t hs, UInt_t chipNr);
TGraph* GetHitEventEfficiencyG(UInt_t hs, UInt_t chipNr);
TH2F* GetHitMapTot(UInt_t step);
TH2F* GetPhysicalHitMapTot(UInt_t step);
TH2F* GetHitMapChip(UInt_t step, UInt_t hs, UInt_t chip);
Float_t GetTPeff() const {return fTPeff;}
TH1F* GetTPeffHS() const {return fTPeffHS;}
TH1F* GetTPeffChip(UInt_t hs) const {return fTPeffChip[hs];}
Float_t GetDeadPixel() const {return fDeadPixel;}
TH1F* GetDeadPixelHS() const {return fDeadPixelHS;}
TH1F* GetDeadPixelChip(UInt_t hs) const {return fDeadPixelChip[hs];}
Float_t GetNoisyPixel() const {return fNoisyPixel;}
TH1F* GetNoisyPixelHS() const {return fNoisyPixelHS;}
TH1F* GetNoisyPixelChip(UInt_t hs) const {return fNoisyPixelChip[hs];}
private:
UInt_t fType;
UInt_t fDacId;
TString fFileName;
enum calibvals{kMINTH,kMEANTH,kDAC,kUNIMA,kNOISE,kDELAY};
AliITSOnlineSPDscan *fScanObj;
AliITSOnlineCalibrationSPDhandler *fHandler;
Bool_t fbModuleScanned[240];
TGraph* fMeanMultiplicity[6][11];
TGraph* fHitEventEfficiency[6][11];
TGraph* fTriggers;
Float_t fTPeff;
TH1F* fTPeffHS;
TH1F* fTPeffChip[6];
Float_t fDeadPixel;
TH1F* fDeadPixelHS;
TH1F* fDeadPixelChip[6];
Float_t fNoisyPixel;
TH1F* fNoisyPixelHS;
TH1F* fNoisyPixelChip[6];
void Init(Bool_t readFromGridFile=kFALSE);
void CreateUniformityHistograms();
void DeleteUniformityHistograms();
Bool_t ProcessMeanMultiplicity();
Bool_t ProcessHitEventEfficiency();
Int_t FindLastMinThDac(UInt_t hs, UInt_t chipNr);
Int_t FindClosestLowerStep(Float_t dacValueInput);
Float_t GetCompareLine(UInt_t step, UInt_t hs, UInt_t chipNr, Float_t basePar2);
Bool_t fOverWrite;
Float_t fNoiseThreshold;
UInt_t fNoiseMinimumEvents;
UInt_t fMinNrStepsBeforeIncrease;
Float_t fMinIncreaseFromBaseLine;
UInt_t fStepDownDacSafe;
Float_t fMaxBaseLineLevel;
};
#endif
AliITSOnlineSPDscanAnalyzer.h:1 AliITSOnlineSPDscanAnalyzer.h:2 AliITSOnlineSPDscanAnalyzer.h:3 AliITSOnlineSPDscanAnalyzer.h:4 AliITSOnlineSPDscanAnalyzer.h:5 AliITSOnlineSPDscanAnalyzer.h:6 AliITSOnlineSPDscanAnalyzer.h:7 AliITSOnlineSPDscanAnalyzer.h:8 AliITSOnlineSPDscanAnalyzer.h:9 AliITSOnlineSPDscanAnalyzer.h:10 AliITSOnlineSPDscanAnalyzer.h:11 AliITSOnlineSPDscanAnalyzer.h:12 AliITSOnlineSPDscanAnalyzer.h:13 AliITSOnlineSPDscanAnalyzer.h:14 AliITSOnlineSPDscanAnalyzer.h:15 AliITSOnlineSPDscanAnalyzer.h:16 AliITSOnlineSPDscanAnalyzer.h:17 AliITSOnlineSPDscanAnalyzer.h:18 AliITSOnlineSPDscanAnalyzer.h:19 AliITSOnlineSPDscanAnalyzer.h:20 AliITSOnlineSPDscanAnalyzer.h:21 AliITSOnlineSPDscanAnalyzer.h:22 AliITSOnlineSPDscanAnalyzer.h:23 AliITSOnlineSPDscanAnalyzer.h:24 AliITSOnlineSPDscanAnalyzer.h:25 AliITSOnlineSPDscanAnalyzer.h:26 AliITSOnlineSPDscanAnalyzer.h:27 AliITSOnlineSPDscanAnalyzer.h:28 AliITSOnlineSPDscanAnalyzer.h:29 AliITSOnlineSPDscanAnalyzer.h:30 AliITSOnlineSPDscanAnalyzer.h:31 AliITSOnlineSPDscanAnalyzer.h:32 AliITSOnlineSPDscanAnalyzer.h:33 AliITSOnlineSPDscanAnalyzer.h:34 AliITSOnlineSPDscanAnalyzer.h:35 AliITSOnlineSPDscanAnalyzer.h:36 AliITSOnlineSPDscanAnalyzer.h:37 AliITSOnlineSPDscanAnalyzer.h:38 AliITSOnlineSPDscanAnalyzer.h:39 AliITSOnlineSPDscanAnalyzer.h:40 AliITSOnlineSPDscanAnalyzer.h:41 AliITSOnlineSPDscanAnalyzer.h:42 AliITSOnlineSPDscanAnalyzer.h:43 AliITSOnlineSPDscanAnalyzer.h:44 AliITSOnlineSPDscanAnalyzer.h:45 AliITSOnlineSPDscanAnalyzer.h:46 AliITSOnlineSPDscanAnalyzer.h:47 AliITSOnlineSPDscanAnalyzer.h:48 AliITSOnlineSPDscanAnalyzer.h:49 AliITSOnlineSPDscanAnalyzer.h:50 AliITSOnlineSPDscanAnalyzer.h:51 AliITSOnlineSPDscanAnalyzer.h:52 AliITSOnlineSPDscanAnalyzer.h:53 AliITSOnlineSPDscanAnalyzer.h:54 AliITSOnlineSPDscanAnalyzer.h:55 AliITSOnlineSPDscanAnalyzer.h:56 AliITSOnlineSPDscanAnalyzer.h:57 AliITSOnlineSPDscanAnalyzer.h:58 AliITSOnlineSPDscanAnalyzer.h:59 AliITSOnlineSPDscanAnalyzer.h:60 AliITSOnlineSPDscanAnalyzer.h:61 AliITSOnlineSPDscanAnalyzer.h:62 AliITSOnlineSPDscanAnalyzer.h:63 AliITSOnlineSPDscanAnalyzer.h:64 AliITSOnlineSPDscanAnalyzer.h:65 AliITSOnlineSPDscanAnalyzer.h:66 AliITSOnlineSPDscanAnalyzer.h:67 AliITSOnlineSPDscanAnalyzer.h:68 AliITSOnlineSPDscanAnalyzer.h:69 AliITSOnlineSPDscanAnalyzer.h:70 AliITSOnlineSPDscanAnalyzer.h:71 AliITSOnlineSPDscanAnalyzer.h:72 AliITSOnlineSPDscanAnalyzer.h:73 AliITSOnlineSPDscanAnalyzer.h:74 AliITSOnlineSPDscanAnalyzer.h:75 AliITSOnlineSPDscanAnalyzer.h:76 AliITSOnlineSPDscanAnalyzer.h:77 AliITSOnlineSPDscanAnalyzer.h:78 AliITSOnlineSPDscanAnalyzer.h:79 AliITSOnlineSPDscanAnalyzer.h:80 AliITSOnlineSPDscanAnalyzer.h:81 AliITSOnlineSPDscanAnalyzer.h:82 AliITSOnlineSPDscanAnalyzer.h:83 AliITSOnlineSPDscanAnalyzer.h:84 AliITSOnlineSPDscanAnalyzer.h:85 AliITSOnlineSPDscanAnalyzer.h:86 AliITSOnlineSPDscanAnalyzer.h:87 AliITSOnlineSPDscanAnalyzer.h:88 AliITSOnlineSPDscanAnalyzer.h:89 AliITSOnlineSPDscanAnalyzer.h:90 AliITSOnlineSPDscanAnalyzer.h:91 AliITSOnlineSPDscanAnalyzer.h:92 AliITSOnlineSPDscanAnalyzer.h:93 AliITSOnlineSPDscanAnalyzer.h:94 AliITSOnlineSPDscanAnalyzer.h:95 AliITSOnlineSPDscanAnalyzer.h:96 AliITSOnlineSPDscanAnalyzer.h:97 AliITSOnlineSPDscanAnalyzer.h:98 AliITSOnlineSPDscanAnalyzer.h:99 AliITSOnlineSPDscanAnalyzer.h:100 AliITSOnlineSPDscanAnalyzer.h:101 AliITSOnlineSPDscanAnalyzer.h:102 AliITSOnlineSPDscanAnalyzer.h:103 AliITSOnlineSPDscanAnalyzer.h:104 AliITSOnlineSPDscanAnalyzer.h:105 AliITSOnlineSPDscanAnalyzer.h:106 AliITSOnlineSPDscanAnalyzer.h:107 AliITSOnlineSPDscanAnalyzer.h:108 AliITSOnlineSPDscanAnalyzer.h:109 AliITSOnlineSPDscanAnalyzer.h:110 AliITSOnlineSPDscanAnalyzer.h:111 AliITSOnlineSPDscanAnalyzer.h:112 AliITSOnlineSPDscanAnalyzer.h:113 AliITSOnlineSPDscanAnalyzer.h:114 AliITSOnlineSPDscanAnalyzer.h:115 AliITSOnlineSPDscanAnalyzer.h:116 AliITSOnlineSPDscanAnalyzer.h:117 AliITSOnlineSPDscanAnalyzer.h:118 AliITSOnlineSPDscanAnalyzer.h:119 AliITSOnlineSPDscanAnalyzer.h:120 AliITSOnlineSPDscanAnalyzer.h:121 AliITSOnlineSPDscanAnalyzer.h:122 AliITSOnlineSPDscanAnalyzer.h:123 AliITSOnlineSPDscanAnalyzer.h:124 AliITSOnlineSPDscanAnalyzer.h:125 AliITSOnlineSPDscanAnalyzer.h:126 AliITSOnlineSPDscanAnalyzer.h:127 AliITSOnlineSPDscanAnalyzer.h:128 AliITSOnlineSPDscanAnalyzer.h:129 AliITSOnlineSPDscanAnalyzer.h:130