ATLAS Offline Software
Loading...
Searching...
No Matches
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
50 StatusCode initialize();
51
52 // Algorithm execution
53 StatusCode execute();
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
77 int m_nsamples = 0;
78
79 //MGV Decide whether or not to normalize autocorr elements
81
82 // flag save full N(N+1)/2 matrix (relevant for pileup)
84
87
88
89 //counter for accepted events
90 unsigned m_nEvents;
91};
92
93#endif
94
Replaces the BunchCrossing AlgTool used in run1/2.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::vector< std::string > m_keylistproperty
std::string m_groupingType
std::vector< std::string > m_keylist
LArAutoCorrMaker(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
LArConditionsContainer< LArAutoCorr > LARACMAP
StatusCode initialize()
StatusCode finalize()
std::string m_keyoutput