ATLAS Offline Software
Loading...
Searching...
No Matches
TileCorrelation.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5//*************************************************************************************
6#ifndef TILERECUTILS_TILECORRELATION_H
7#define TILERECUTILS_TILECORRELATION_H
8
9// Filename : TileCorrelation.h
10// Author : C Cuenca
11// Created : May 2004
12
13// DESCRIPTION
14// Implementation of a class for correlation among digits calculation.
15
16// ************************************************************************************
17
20
21class TileHWID;
22
23#include <vector>
24#include <string>
25#include <fstream>
26
27
29 : public AthMessaging
30{
31 public:
34 void setCorrelationZero(int dignum);
35 void setCorrelationDelta(int dignum);
36
37 void sum(std::vector<double> &digits, int ros, int drawer, int channel, int gain, int &dignum);
38
39 void runningCorrelation(std::vector<double> &digits, int ros, int drawer, int channel, int gain,
40 int &dignum, int chthres);
41
42 void calculateCorrelation(int dignum);
43 void calculateRunningCorrelation(int dignum, int chthres, bool is7to9);
44 void printCorrelation(int dignum);
45 void saveCorrelationSumm(bool deltaCorrelation, const std::string& correlationSummOptFilterFile,
46 const TileHWID *tileHWID, int dignum);
47
48 void saveCorrelationMatrix(bool deltaCorrelation, const std::string& correlationMatrixOptFilterFile,
49 const TileHWID *tileHWID, int dignum);
50
51 void calculateWeights(bool deltaCorrelation,
52 const std::vector<double>& shapeFormLG,
53 const std::vector<double>& shapeFormHG,
54 const std::vector<double>& shapeFormDerivativeLG,
55 const std::vector<double>& shapeFormDerivativeHG,
56 const std::string& aiLoOptFilterFile,
57 const std::string& biLoOptFilterFile,
58 const std::string& aiHiOptFilterFile,
59 const std::string& biHiOptFilterFile,
60 const TileHWID *tileHWID, int dignum);
61
62 void buildPulseShape(std::vector<double> &pulseShape, std::vector<double> &pulseShapeY,
63 std::vector<double> &pulseShapeT, int dignum);
64
65
66 private:
67 //double SS(9,9);
68 double m_SS[4][64][48][2][9][9];
69 double m_S[4][64][48][2][9];
70 double m_R[4][64][48][2][9][9];
71 //int N_events[4][64][48][2];
72
73 double m_corr[9];
74 double m_corrSum[4][64][48][2][9];
75 double m_corrSum2[4][64][48][2][9];
76 double m_nCorr;
77 int m_N[4][64][48][2];
79 int m_lag;
80 int m_nPairs[4][64][48][2][9];
81 double m_nD;
82 double m_S1[4][64][48][2][9];
83 double m_S2[4][64][48][2][9];
84 double m_S11[4][64][48][2][9];
85 double m_S12[4][64][48][2][9];
86 double m_S22[4][64][48][2][9];
87};
88
89
90#endif // TILERECUTILS_TILECORRELATION_H
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.
void calculateRunningCorrelation(int dignum, int chthres, bool is7to9)
void calculateCorrelation(int dignum)
void sum(std::vector< double > &digits, int ros, int drawer, int channel, int gain, int &dignum)
int m_nPairs[4][64][48][2][9]
double m_R[4][64][48][2][9][9]
double m_S22[4][64][48][2][9]
double m_corrSum2[4][64][48][2][9]
double m_S[4][64][48][2][9]
double m_S2[4][64][48][2][9]
double m_S1[4][64][48][2][9]
void saveCorrelationMatrix(bool deltaCorrelation, const std::string &correlationMatrixOptFilterFile, const TileHWID *tileHWID, int dignum)
double m_corrSum[4][64][48][2][9]
int m_N[4][64][48][2]
void calculateWeights(bool deltaCorrelation, const std::vector< double > &shapeFormLG, const std::vector< double > &shapeFormHG, const std::vector< double > &shapeFormDerivativeLG, const std::vector< double > &shapeFormDerivativeHG, const std::string &aiLoOptFilterFile, const std::string &biLoOptFilterFile, const std::string &aiHiOptFilterFile, const std::string &biHiOptFilterFile, const TileHWID *tileHWID, int dignum)
void buildPulseShape(std::vector< double > &pulseShape, std::vector< double > &pulseShapeY, std::vector< double > &pulseShapeT, int dignum)
void runningCorrelation(std::vector< double > &digits, int ros, int drawer, int channel, int gain, int &dignum, int chthres)
void saveCorrelationSumm(bool deltaCorrelation, const std::string &correlationSummOptFilterFile, const TileHWID *tileHWID, int dignum)
double m_S11[4][64][48][2][9]
void setCorrelationZero(int dignum)
void printCorrelation(int dignum)
void setCorrelationDelta(int dignum)
double m_S12[4][64][48][2][9]
double m_SS[4][64][48][2][9][9]
Helper class for TileCal online (hardware) identifiers.
Definition TileHWID.h:49
singleton-like access to IMessageSvc via open function and helper