ATLAS Offline Software
TileFitter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //***************************************************************************************************
6 // Filename : TileFitter.h
7 // Author : F. Merritt, A. Aurisano
8 // Created : March 2004
9 //
10 // Description
11 // Stores methods and matrices needed for a fitting a TileDigits object to a specific
12 // configuration of energy deposits.
13 //
14 //
15 //***************************************************************************************************
16 
17 #ifndef TILERECUTILS_TILEFITTER_H
18 #define TILERECUTILS_TILEFITTER_H
19 
21 
22 #include <CLHEP/Matrix/Matrix.h>
23 #include <CLHEP/Matrix/Vector.h>
24 #include <CLHEP/Matrix/SymMatrix.h>
25 #include <vector>
26 
27 //using namespace CLHEP;
28 
29 //class StoreGateSvc;
30 
32  {
33  public:
34 
35  // Constructor
36  TileFitter();
37  TileFitter(bool debug, int nRow, int nColumn, int index, CLHEP::HepMatrix& S, int Icon);
38 
39  // Destructor
40  ~TileFitter() = default;
41 
42  int fitAmp(TileFilterResult &tResult, bool lDebug=false);
43  int getIndex();
44  std::vector<double>& getErr();
45  void printMat(CLHEP::HepMatrix &mat);
46  void printVec(CLHEP::HepVector &vec);
47 
48  private:
49 
50  int m_iConstraint; // >0 => include constraint on Ped; >1 => also pileups.
51  CLHEP::HepVector m_cAmp; // used for maxP fit with constraints only.
52  double m_pedConst;
53  double m_sigPedF2;
54  double m_sigPileF2;
55 
56  int m_nSamples; // number of samples.
57  int m_nParameters; // number of parameters in fit
58  int m_iConfig; // number of this configuration.
59  std::vector<int> m_vConfig; // vector of crossings for this configuration
60  CLHEP::HepMatrix m_SPD; // m_nParameters X m_nSamples matrix
61  // HepMatrix M; // = SPD*SPDT
62  // HepMatrix MI; // = M.inverse
63  CLHEP::HepMatrix m_MISPD; // = MI*SPD
64  std::vector<double> m_errDiag;
65  };
66 
67 #endif // TILERECUTILS_TILEFITTER_H
68 
69 
TileFitter::~TileFitter
~TileFitter()=default
TileFitter::m_SPD
CLHEP::HepMatrix m_SPD
Definition: TileFitter.h:60
TileFitter::m_sigPileF2
double m_sigPileF2
Definition: TileFitter.h:54
TileFitter::m_pedConst
double m_pedConst
Definition: TileFitter.h:52
TileFitter::m_MISPD
CLHEP::HepMatrix m_MISPD
Definition: TileFitter.h:63
index
Definition: index.py:1
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
TileFitter::m_errDiag
std::vector< double > m_errDiag
Definition: TileFitter.h:64
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
TileFitter::m_vConfig
std::vector< int > m_vConfig
Definition: TileFitter.h:59
TileFitter::m_iConstraint
int m_iConstraint
Definition: TileFitter.h:50
TileFitter::TileFitter
TileFitter()
Definition: TileFitter.cxx:23
TileFitter::printMat
void printMat(CLHEP::HepMatrix &mat)
Definition: TileFitter.cxx:191
TileFitter::getIndex
int getIndex()
Definition: TileFitter.cxx:183
TileFitter::getErr
std::vector< double > & getErr()
Definition: TileFitter.cxx:187
TileFitter::m_iConfig
int m_iConfig
Definition: TileFitter.h:58
debug
const bool debug
Definition: MakeUncertaintyPlots.cxx:53
TileFitter::m_sigPedF2
double m_sigPedF2
Definition: TileFitter.h:53
TileFilterResult.h
TileFitter::fitAmp
int fitAmp(TileFilterResult &tResult, bool lDebug=false)
Definition: TileFitter.cxx:125
TileFitter::m_nSamples
int m_nSamples
Definition: TileFitter.h:56
TileFilterResult
Auxiliary class for TileRawChannelMakerManyAmps.
Definition: TileFilterResult.h:22
TileFitter::m_nParameters
int m_nParameters
Definition: TileFitter.h:57
TileFitter::printVec
void printVec(CLHEP::HepVector &vec)
Definition: TileFitter.cxx:207
TileFitter
Definition: TileFitter.h:32
TileFitter::m_cAmp
CLHEP::HepVector m_cAmp
Definition: TileFitter.h:51