ATLAS Offline Software
LArAutoCorrMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //dear emacs, this is -*-c++-*-
6 
7 #ifndef LARAUTOCORRMAKER_H
8 #define LARAUTOCORRMAKER_H
9 /********************************************************************
10 
11  NAME: LArAutoCorrMaker.h
12  PACKAGE: offline/LArCalorimeter/LArCalibUtils
13 
14  AUTHORS: M. AHARROUCHE
15  CREATED: Dec. 16, 2003
16 
17  PURPOSE: Selects the good events and computes the autocorrelation
18  matrix for each cell. It processes all the gains
19  simultaneously.
20  In fact only the last (m_nsamples-1) elements of the
21  first line (or column) of autocorrelation matrix are
22  computed and stored in TDS, for these reasons:
23  - symetrie of autocorrelation matrix
24  - equivalence of autocorrelation elements:
25  B(n,n+i)\eq B(m,m+i) (eg B12 \eq B23).
26 
27 ********************************************************************/
28 
30 #include "GaudiKernel/ToolHandle.h"
33 
36 
37 //-----------------------------------------------------------------------
39 //-----------------------------------------------------------------------
40 {
41  public:
42 
43  // Constructor
44  LArAutoCorrMaker(const std::string & name, ISvcLocator * pSvcLocator);
45 
46  // Destructor
48 
49  // Algorithm initialization
51 
52  // Algorithm execution
54 
55  // Algorithm finalization
56  StatusCode stop();
57  StatusCode finalize(){ return StatusCode::SUCCESS;}
58 
59  private:
60 
61  SG::ReadCondHandleKey<BunchCrossingCondData> m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};
62 
64 
65  // Container key list
66  std::vector<std::string> m_keylist, m_keylistproperty;
67  std::string m_keyoutput;
68 
69  // Grouping type
70  std::string m_groupingType;
71 
72  // Number of events used to define window
73  int m_nref;
74 
75  // Number of sigma
76  int m_rms_cut;
77  int m_nsamples = 0;
78 
79  //MGV Decide whether or not to normalize autocorr elements
80  int m_normalize;
81 
82  // flag save full N(N+1)/2 matrix (relevant for pileup)
83  int m_physics;
84 
87 
88 
89  //counter for accepted events
90  unsigned m_nEvents;
91 };
92 
93 #endif
94 
LArAutoCorrMaker::m_rms_cut
int m_rms_cut
Definition: LArAutoCorrMaker.h:94
LArAutoCorrMaker
Definition: LArAutoCorrMaker.h:40
LArAutoCorrMaker::m_nref
int m_nref
Definition: LArAutoCorrMaker.h:91
LArAutoCorrMaker::finalize
StatusCode finalize()
Definition: LArAutoCorrMaker.h:75
LArAutoCorrMaker::m_nsamples
int m_nsamples
Definition: LArAutoCorrMaker.h:95
LArConditionsContainer.h
LArAutoCorrMaker::m_nEvents
unsigned m_nEvents
Definition: LArAutoCorrMaker.h:108
LArAutoCorrMaker::m_autocorr
LARACMAP m_autocorr
Definition: LArAutoCorrMaker.h:104
LArConditionsContainer< LArAutoCorr >
AthAlgorithm.h
LArAutoCorrMaker::m_keylist
std::vector< std::string > m_keylist
Definition: LArAutoCorrMaker.h:84
LArAutoCorrMaker::m_bcDataKey
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
Definition: LArAutoCorrMaker.h:79
LArAutoCorrMaker::execute
StatusCode execute()
Definition: LArAutoCorrMaker.cxx:89
LArAutoCorrMaker::~LArAutoCorrMaker
~LArAutoCorrMaker()
LArAutoCorrMaker::initialize
StatusCode initialize()
Definition: LArAutoCorrMaker.cxx:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArAutoCorr.h
LArAutoCorrMaker::m_keyoutput
std::string m_keyoutput
Definition: LArAutoCorrMaker.h:85
LArAutoCorrMaker::m_physics
int m_physics
Definition: LArAutoCorrMaker.h:101
LArAutoCorrMaker::m_groupingType
std::string m_groupingType
Definition: LArAutoCorrMaker.h:88
AthAlgorithm
Definition: AthAlgorithm.h:47
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SG::ReadCondHandleKey< BunchCrossingCondData >
LArAutoCorrMaker::LArAutoCorrMaker
LArAutoCorrMaker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: LArAutoCorrMaker.cxx:41
LArAutoCorrMaker::m_normalize
int m_normalize
Definition: LArAutoCorrMaker.h:98
BunchCrossingCondData.h
Replaces the BunchCrossing AlgTool used in run1/2.
LArAutoCorrMaker::m_keylistproperty
std::vector< std::string > m_keylistproperty
Definition: LArAutoCorrMaker.h:84
LArAutoCorrMaker::stop
StatusCode stop()
Definition: LArAutoCorrMaker.cxx:180
LArAutoCorrMaker::m_bunchCrossingsFromFront
int m_bunchCrossingsFromFront
Definition: LArAutoCorrMaker.h:81
LArAutoCorrMaker::LARACMAP
LArConditionsContainer< LArAutoCorr > LARACMAP
Definition: LArAutoCorrMaker.h:103