]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSOnlineSPDphysAnalyzer.h
modifications for online SPD monitoring (Annalisa)
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineSPDphysAnalyzer.h
CommitLineData
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
15class AliITSOnlineSPDphys;
16class AliITSOnlineCalibrationSPDhandler;
17class TGraph;
18class TH2F;
19
20class 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