ATLAS Offline Software
ReadLArDigits.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
13 //Dear emacs, this is -*- c++ -*-
14 
15 #ifndef READLARDIGITS_H
16 #define READLARDIGITS_H
18 #include "GaudiKernel/ToolHandle.h"
19 #include "GaudiKernel/MsgStream.h"
20 #include "StoreGate/StoreGateSvc.h"
24 #include "GaudiKernel/INTupleSvc.h"
25 #include "GaudiKernel/NTuple.h"
26 #include "GaudiKernel/SmartDataPtr.h"
30 
31 #include <fstream>
32 
34 {
35  public:
36  ReadLArDigits(const std::string & name, ISvcLocator * pSvcLocator);
37 
39 
40  //standart algorithm methods
44 
45  private:
46  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this, "OnOffMap", "LArOnOffIdMap", "SG key for mapping object"};
47  int m_count;
48  const LArEM_ID* m_emId;
50  std::ofstream m_outfile;
52  { this, "ContainerKey", "FREE", "" };
53  std::string m_dumpFile;
56  //std::string m_NTupleLoc;
57 
59  //NTuple::Item<long> m_cellIndex;
60  NTuple::Item<long> m_cellIndex;
61  NTuple::Array<long> m_layer, m_eta, m_phi, m_gain;
62  NTuple::Array<long> m_barrel_ec, m_pos_neg, m_FT, m_slot, m_channel;
63  NTuple::Matrix<long> m_samples;
64  NTuple::Item<long> m_Nsamples;
65  //NTuple::Array<long>* m_samples;
66  //int m_NSamples;
67 
76  class SortDigits
77  {
78  public:
79  SortDigits(const LArOnlineID* onlineHelper);
80  inline bool operator()(LArDigit* a, LArDigit* b);
81  private:
83  };
84 };
85 
86 
88 {const HWIdentifier chid_a=a->channelID();
89  const HWIdentifier chid_b=b->channelID();
91  return (m_onlineHelper->channel(chid_a) < m_onlineHelper->channel(chid_b));
92  else
93  return (m_onlineHelper->feb_Id(chid_a).get_compact() < m_onlineHelper->feb_Id(chid_b).get_compact());
94 }
95 
96 
97 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
ReadLArDigits::SortDigits
CTB: code to read digits.
Definition: ReadLArDigits.h:77
LArEM_ID.h
ReadLArDigits::ReadLArDigits
ReadLArDigits(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ReadLArDigits.cxx:17
ReadLArDigits::execute
StatusCode execute()
Definition: ReadLArDigits.cxx:85
ReadLArDigits::finalize
StatusCode finalize()
Definition: ReadLArDigits.cxx:172
ReadLArDigits::m_channel
NTuple::Array< long > m_channel
Definition: ReadLArDigits.h:62
ReadLArDigits::m_cellIndex
NTuple::Item< long > m_cellIndex
Definition: ReadLArDigits.h:60
SG::ReadHandleKey< LArDigitContainer >
HWIdentifier
Definition: HWIdentifier.h:13
ReadLArDigits::m_layer
NTuple::Array< long > m_layer
Definition: ReadLArDigits.h:61
AthAlgorithm.h
LArOnlineID_Base::channel
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Definition: LArOnlineID_Base.cxx:1967
LArOnOffIdMapping.h
ReadLArDigits::m_printCellLoc
bool m_printCellLoc
Definition: ReadLArDigits.h:54
ReadLArDigits::initialize
StatusCode initialize()
Definition: ReadLArDigits.cxx:33
LArDigit
Liquid Argon digit base class.
Definition: LArDigit.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadLArDigits::m_slot
NTuple::Array< long > m_slot
Definition: ReadLArDigits.h:62
ReadLArDigits::m_ntuplePtr
NTuple::Tuple * m_ntuplePtr
Definition: ReadLArDigits.h:58
AthAlgorithm
Definition: AthAlgorithm.h:47
LArOnlineID_Base::feb_Id
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Definition: LArOnlineID_Base.cxx:1483
ReadCondHandleKey.h
ReadLArDigits::m_barrel_ec
NTuple::Array< long > m_barrel_ec
Definition: ReadLArDigits.h:62
ReadLArDigits
CTB: code to read digits.
Definition: ReadLArDigits.h:34
ReadLArDigits::m_eta
NTuple::Array< long > m_eta
Definition: ReadLArDigits.h:61
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ReadLArDigits::m_outfile
std::ofstream m_outfile
Definition: ReadLArDigits.h:50
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
ReadLArDigits::m_count
int m_count
Definition: ReadLArDigits.h:47
LArOnlineID
Definition: LArOnlineID.h:20
LArDigitContainer.h
ReadLArDigits::m_containerKey
SG::ReadHandleKey< LArDigitContainer > m_containerKey
Definition: ReadLArDigits.h:52
SG::ReadCondHandleKey< LArOnOffIdMapping >
ReadLArDigits::m_pos_neg
NTuple::Array< long > m_pos_neg
Definition: ReadLArDigits.h:62
ReadLArDigits::m_dumpFile
std::string m_dumpFile
Definition: ReadLArDigits.h:53
a
TList * a
Definition: liststreamerinfos.cxx:10
Identifier::get_compact
value_type get_compact(void) const
Get the compact id.
ReadLArDigits::m_Nsamples
NTuple::Item< long > m_Nsamples
Definition: ReadLArDigits.h:64
ReadLArDigits::m_samples
NTuple::Matrix< long > m_samples
Definition: ReadLArDigits.h:63
ReadLArDigits::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: ReadLArDigits.h:49
ReadLArDigits::m_phi
NTuple::Array< long > m_phi
Definition: ReadLArDigits.h:61
ReadLArDigits::~ReadLArDigits
~ReadLArDigits()
Definition: ReadLArDigits.cxx:29
ReadLArDigits::SortDigits::SortDigits
SortDigits(const LArOnlineID *onlineHelper)
Definition: ReadLArDigits.cxx:13
ReadLArDigits::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: ReadLArDigits.h:46
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
ReadLArDigits::m_printFebChan
bool m_printFebChan
Definition: ReadLArDigits.h:55
ReadLArDigits::SortDigits::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: ReadLArDigits.h:82
ReadLArDigits::m_emId
const LArEM_ID * m_emId
Definition: ReadLArDigits.h:48
ReadLArDigits::SortDigits::operator()
bool operator()(LArDigit *a, LArDigit *b)
Definition: ReadLArDigits.h:87
StoreGateSvc.h
ReadLArDigits::m_gain
NTuple::Array< long > m_gain
Definition: ReadLArDigits.h:61
ReadLArDigits::m_FT
NTuple::Array< long > m_FT
Definition: ReadLArDigits.h:62
LArOnlineID.h
Tuple
PerfMon::Tuple Tuple
Definition: PerfMonSvc.cxx:91