-
Notifications
You must be signed in to change notification settings - Fork 1
/
AliRPCData.h
79 lines (59 loc) · 3.38 KB
/
AliRPCData.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//
// AliRPCData.h
//
// Created by Gabriele Gaetano Fronzé
// Copyright © 2016 Gabriele Gaetano Fronzé. All rights reserved.
#ifndef AliRPCData_h
#define AliRPCData_h
#include <stdio.h>
#include <vector>
#include "TObject.h"
#include "TString.h"
#include "TSortedList.h"
#include "AliRPCRunStatistics.h"
#include "AliOCDBRun.h"
using namespace std;
class AliRPCData : public TObject{
public:
AliRPCData();
AliRPCData(const AliRPCData &obj) : TObject(obj){};
~AliRPCData();
Bool_t AddRunStatistics (Int_t plane, Int_t side, Int_t RPC, AliRPCRunStatistics *stats);
Double_t GetMeanDarkCurrent(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanTotalCurrent(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanNetCurrent(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanHV(UInt_t runNumber) const;
inline Double_t GetMeanHV(UInt_t runNumber, Bool_t ) const{return GetMeanHV(runNumber);};
Double_t GetTotalScalerCountsBending(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetTotalScalerCountsNotBending(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanRateBending(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanRateNotBending(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanIntegratedCharge(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
Double_t GetMeanTimeStampStart(UInt_t runNumber, Bool_t normalizeToArea=kFALSE) const;
inline vector<AliOCDBRun*> GetRunList(Int_t plane, Int_t side, Int_t RPC) const {return fRunNumbers[plane][side][RPC];};
inline vector<AliRPCRunStatistics*> GetRunStatistics(Int_t plane, Int_t side, Int_t RPC){return fRunStatistics[plane][side][RPC];}
Double_t GetAverageTotalCurrent(Int_t plane, Int_t side, Int_t RPC, Bool_t normalizeToArea=kFALSE)const;
Double_t GetAverageNetCurrent(Int_t plane, Int_t side, Int_t RPC, Bool_t normalizeToArea=kFALSE) const;
Double_t GetAverageHV(Int_t plane, Int_t side, Int_t RPC) const;
inline Double_t GetAverageHV(Int_t plane, Int_t side, Int_t RPC, Bool_t ) const{return GetAverageHV(plane,side, RPC);};
Double_t GetAverageRateBending(Int_t plane, Int_t side, Int_t RPC, Bool_t normalizeToArea=kFALSE) const;
Double_t GetAverageRateNotBending(Int_t plane, Int_t side, Int_t RPC, Bool_t normalizeToArea=kFALSE) const;
UInt_t GetTotalEntries();
Bool_t IsThereThisRun(Int_t plane, Int_t side, Int_t RPC, UInt_t runNumber, Int_t &index) const;
inline vector<AliRPCRunStatistics*> operator()(Int_t iPlane,Int_t iSides,Int_t iRPC){return fRunStatistics[iPlane][iSides][iRPC];};
private:
const static Int_t fNSides=2;
const static Int_t fNPlanes=4;
const static Int_t fNRPC=9;
const static Int_t fNLocalBoards=234;
const static Int_t fNCathodes=2;
Double_t fAreas[fNRPC][fNPlanes];
vector<AliRPCRunStatistics*> fRunStatistics[fNPlanes][fNSides][fNRPC];
vector<AliOCDBRun*> fRunNumbers[fNPlanes][fNSides][fNRPC];
Bool_t fIsDarkRun;
// Bool_t IsThereThisRunStupido(Int_t plane, Int_t side, Int_t RPC, UInt_t runNumber, Int_t &index);
Double_t GetMeanSomething(UInt_t runNumber, Bool_t normalizeToArea,Double_t (AliRPCRunStatistics::*funky)() const)const;
Double_t GetAverageSomething(Int_t plane, Int_t side, Int_t RPC, Bool_t normalizeToArea,Double_t (AliRPCRunStatistics::*funky)() const)const;
ClassDef(AliRPCData,3);
};
#endif