3#ifndef LARCLUSTERCELLDUMPER_EVENTREADERBASEALG_H
4#define LARCLUSTERCELLDUMPER_EVENTREADERBASEALG_H
29 virtual StatusCode
execute()
override;
30 virtual StatusCode
finalize()
override;
42 double deltaPhi(
double phi1 ,
double phi2);
51 Gaudi::Property<float>
m_elecEtaCut {
this,
"electronEtaCut", 1.4,
"Electron |eta| cut value."};
54 Gaudi::Property<float>
m_etMinProbe {
this,
"etMinProbe", 15 ,
"Min electron Pt value for Zee probe selection loose (GeV)."};
55 Gaudi::Property<float>
m_etMinTag {
this,
"etMinTag", 15 ,
"Min Et value for the electrons in Zee tag selection (GeV)."};
56 Gaudi::Property<float>
m_d0TagSig {
this,
"d0TagSig", 5,
"d_0 transverse impact parameter significance."};
57 Gaudi::Property<float>
m_z0Tag {
this,
"z0Tag", 0.5,
"z0 longitudinal impact parameter (mm)"};
58 Gaudi::Property<bool>
m_doElecSelectByTrackOnly {
this,
"doElecSelectByTrackOnly",
false,
"Perform electron selection by track only, witout tag and probe."};
59 Gaudi::Property<bool>
m_doTagAndProbe {
this,
"doTagAndProbe",
true,
"First, the electrons are selected by track criteria, then, perform Tag and Probe selection for Zee."};
60 Gaudi::Property<bool>
m_doPhotonDump {
this,
"doPhotonDump",
false,
"Perform a photon particle dump based on offline Photons Container."};
61 Gaudi::Property<bool>
m_doTruthEventDump {
this,
"doTruthEventDump",
false,
"Dump the Truth Event variables."};
62 Gaudi::Property<bool>
m_doTruthPartDump {
this,
"doTruthPartDump",
false,
"Perform a truth particle dump."};
63 Gaudi::Property<bool>
m_doLArEMBHitsDump {
this,
"doLArEMBHitsDump",
false,
"Dump the EMB HITs container energy and time."};
64 Gaudi::Property<bool>
m_isMC {
this,
"isMC",
false,
"Switch the dumper to MC sample mode."};
65 Gaudi::Property<bool>
m_getLArCalibConstants {
this,
"getLArCalibConstants",
false,
"Get the LAr calorimeter calibration constants, related to cells energy and time (online and offline)."};
66 Gaudi::Property<bool>
m_noBadCells {
this,
"noBadCells",
true,
"If True, skip the cells tagged as badCells/channels."};
Scalar eta() const
pseudorapidity method
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
Scalar deltaR(const MatrixBase< Derived > &vec) const
Scalar phi() const
phi method
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Data object for each calorimeter readout cell.
std::vector< float > * m_vtx_x
Gaudi::Property< bool > m_doTruthEventDump
std::vector< std::vector< double > > * m_c_channelShape
std::vector< float > * m_el_deltae
std::vector< float > * m_c_channelPed
Gaudi::Property< bool > m_doAssocTopoCluster711Dump
std::vector< int > * m_c_clusterIndex_rawChLvl
Gaudi::Property< float > m_d0TagSig
std::vector< double > * m_c_clusterEnergy
unsigned long long m_e_eventNumber
std::vector< double > * m_c711_cellEnergy
std::vector< float > * m_c_rawChannelQuality
std::vector< int > * m_c711_cellRegion
std::vector< float > * m_el_fracs1
std::vector< double > * m_c711_channelTime
std::vector< int > * m_c_cellRegion
std::vector< unsigned int > * m_c_channelChannelIdMap
std::vector< float > * m_ph_energy
std::vector< double > * m_zee_py
std::vector< float > * m_el_wtots1
std::vector< double > * m_hits_cellPhi
std::vector< int > * m_c711_cellLayer
std::vector< double > * m_c711_cellToClusterDEta
std::vector< float > * m_el_Phi
std::vector< std::vector< double > > * m_c_channelShapeDer
Gaudi::Property< bool > m_doLArEMBHitsDump
float m_e_outOfTimePileUp
std::vector< int > * m_c_clusterChannelIndex
Gaudi::Property< float > m_z0Tag
void bookDatabaseBranches(TTree *tree)
std::vector< double > * m_zee_px
std::vector< float > * m_ph_eta
std::vector< int > * m_tp_tagIndex
std::vector< double > * m_zee_deltaR
std::vector< int > * m_c711_clusterCellIndex
std::vector< std::vector< float > > * m_lb_bcidLuminosity
std::vector< bool > * m_c_channelBad
std::vector< int > * m_c711_rawChannelLayer
std::vector< float > * m_c711_channelOfflHVScale
std::vector< double > * m_hits_energyConv
std::vector< double > * m_c_cellTime
std::vector< float > * m_tp_electronPhi
std::vector< float > * m_c711_rawChannelAmplitude
std::vector< int > * m_c711_clusterIndex
std::vector< float > * m_c_rawChannelProv
std::vector< float > * m_el_e277
std::vector< int > * m_c711_cellGain
std::vector< float > * m_el_rhad
std::vector< double > * m_c711_clusterTime
std::vector< float > * m_c711_rawChannelQuality
std::vector< double > * m_vtx_d0sig
std::vector< int > * m_mc_vert_status
std::vector< std::vector< double > > * m_c_channelOFCb
std::vector< int > * m_c711_clusterIndex_rawChLvl
std::vector< float > * m_mc_vert_phi
int m_c_clusterIndexCounter
std::vector< std::vector< double > > * m_c_channelOFCa
std::vector< int > * m_mc_part_pdgId
std::vector< float > * m_c711_clusterRawChannelIndex
std::vector< float > * m_c_rawChannelAmplitude
std::vector< float > * m_mc_vert_z
std::vector< float > * m_c711_rawChannelPed
std::vector< double > * m_c_cellPhi
std::vector< int > * m_c711_electronIndex_clusterLvl
std::vector< float > * m_vtx_delta_z0_sin
std::vector< double > * m_c_cellEnergy
std::vector< std::vector< float > > * m_c711_channelDigits
int getCaloRegionIndex(const CaloCell *cell)
std::vector< double > * m_c711_channelOFCTimeOffset
std::vector< int > * m_c_clusterIndex_chLvl
std::vector< float > * m_mc_vert_y
std::vector< double > * m_zee_pt
std::vector< float > * m_hits_sampFrac
std::vector< int > * m_c_cellLayer
std::vector< double > * m_c_clusterPt
std::vector< bool > * m_tp_isProbe
bool isGoodProbeElectron(const xAOD::Electron *el)
std::vector< float > * m_c_rawChannelPed
std::vector< float > * m_mc_part_pt
std::vector< int > * m_c_clusterIndex
std::vector< double > * m_c_cellToClusterDPhi
std::vector< float > * m_c_channelNoise
std::vector< int > * m_hits_clusterChannelIndex
std::vector< float > * m_c711_channelPed
std::vector< double > * m_c711_clusterEta
std::vector< float > * m_el_f1
std::vector< float > * m_c_clusterRawChannelIndex
std::vector< bool > * m_tp_isTag
std::vector< float > * m_el_Pt
std::vector< float > * m_c711_channelEffectiveSigma
std::vector< int > * m_c_clusterCellIndex
bool isTagElectron(const xAOD::Electron *electron)
std::vector< float > * m_ph_pt
std::vector< float > * m_c_channelEffectiveSigma
std::vector< unsigned int > * m_c_channelHashMap
bool trackSelectionElectrons(const xAOD::Electron *electron, SG::ReadHandle< xAOD::VertexContainer > &primVertexCnt, SG::ReadHandle< xAOD::EventInfo > &ei)
std::vector< int > * m_c711_clusterChannelIndex
std::vector< int > * m_c_rawChannelLayer
std::vector< double > * m_c711_cellDPhi
std::vector< int > * m_c711_channelLayer
std::vector< std::vector< float > > * m_c_channelDigits
std::vector< double > * m_c_cellEta
std::vector< double > * m_c_cellDEta
std::vector< float > * m_c711_channelMinBiasAvg
std::vector< float > * m_c711_rawChannelTime
std::vector< double > * m_c711_cellTime
std::vector< std::vector< double > > * m_c711_channelShapeDer
std::vector< float > * m_ph_phi
std::vector< double > * m_hits_cellEta
Gaudi::Property< bool > m_doTruthPartDump
std::vector< float > * m_c_channelOfflEneRescaler
std::vector< double > * m_zee_M
std::vector< float > * m_c711_channelDSPThreshold
std::vector< double > * m_zee_pz
std::vector< double > * m_c711_clusterPhi
std::vector< std::vector< int > > * m_c711_rawChannelChInfo
std::vector< double > * m_c_cellDPhi
std::vector< float > * m_el_rhad1
std::vector< float > * m_el_weta1
unsigned int m_e_runNumber
std::vector< bool > * m_c711_channelBad
EventReaderBaseAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< float > * m_el_et
std::vector< double > * m_c711_clusterPt
bool isEtaOutsideLArCrack(float absEta)
std::vector< std::vector< int > > * m_c711_channelChInfo
std::vector< float > * m_vtx_z
std::vector< float > * m_tp_electronPt
std::vector< int > * m_tp_probeIndex
std::vector< int > * m_lb_lumiblock
int * m_c711_clusterIndexCounter
std::vector< int > * m_c_channelLayer
std::vector< double > * m_zee_T
std::vector< int > * m_c711_clusterIndex_cellLvl
std::vector< double > * m_c_clusterPhi
std::vector< double > * m_c711_clusterEnergy
std::vector< int > * m_el_index
std::vector< std::vector< int > > * m_c_rawChannelChInfo
std::vector< double > * m_c711_cellPhi
std::vector< double > * m_c711_cellEta
std::vector< int > * m_mc_part_status
Gaudi::Property< bool > m_doTagAndProbe
int * m_c711_cellIndexCounter
std::vector< float > * m_tp_electronEt
std::vector< std::vector< double > > * m_c711_channelOFCa
Gaudi::Property< float > m_etMinTag
Gaudi::Property< bool > m_isMC
std::vector< int > * m_mc_vert_uniqueID
std::vector< double > * m_hits_energy
std::vector< float > * m_c_channelADC2MEV1
std::vector< float > * m_mc_part_eta
std::vector< float > * m_mc_part_energy
std::vector< std::vector< double > > * m_c711_channelShape
std::vector< float > * m_el_Eta
std::vector< float > * m_c_channelOfflHVScale
std::vector< double > * m_c_channelTime
std::vector< double > * m_c711_cellDEta
Gaudi::Property< bool > m_getLArCalibConstants
std::vector< int > * m_c_clusterIndex_cellLvl
std::vector< double > * m_c_clusterTime
void bookBranches(TTree *tree)
Gaudi::Property< std::string > m_offProbeTightness
Define the PID for tag electron.
virtual StatusCode finalize() override
std::vector< float > * m_c_channelMinBiasAvg
std::vector< float > * m_mc_vert_time
std::vector< int > * m_c711_clusterIndex_chLvl
std::vector< float > * m_c_channelDSPThreshold
std::vector< float > * m_c711_channelNoise
std::vector< double > * m_c_clusterEta
std::vector< int > * m_c_cellGain
std::vector< float > * m_mc_part_phi
std::vector< double > * m_c711_channelEnergy
std::vector< float > * m_c_channelADC2MEV0
std::vector< int > * m_c_electronIndex_clusterLvl
std::vector< float > * m_mc_part_m
std::vector< double > * m_zee_E
std::vector< std::vector< double > > * m_c711_channelOFCb
std::vector< float > * m_tp_electronEta
std::vector< float > * m_mc_vert_x
std::vector< float > * m_c711_channelADC2MEV0
std::vector< float > * m_c711_channelOfflEneRescaler
Gaudi::Property< float > m_elecEtaCut
std::vector< float > * m_vtx_deltaZ0
std::vector< double > * m_c711_cellToClusterDPhi
std::vector< int > * m_hits_sampling
std::vector< std::vector< int > > * m_c_channelChInfo
std::vector< float > * m_c_rawChannelDSPThreshold
std::vector< float > * m_vtx_y
std::vector< double > * m_c_channelEnergy
std::vector< float > * m_el_rphi
Gaudi::Property< bool > m_doElecSelectByTrackOnly
Gaudi::Property< bool > m_doPhotonDump
std::vector< double > * m_c_channelOFCTimeOffset
std::vector< unsigned int > * m_c711_rawChannelIdMap
std::vector< float > * m_el_eratio
Gaudi::Property< float > m_etMinProbe
define the Pid of Probe from the user
std::vector< unsigned int > * m_hits_hash
std::vector< float > * m_c_rawChannelTime
Gaudi::Property< bool > m_noBadCells
std::vector< float > * m_ph_m
std::vector< float > * m_c711_rawChannelDSPThreshold
std::vector< float > * m_mc_vert_eta
std::vector< float > * m_c711_rawChannelProv
std::vector< int > * m_mc_part_uniqueID
std::vector< float > * m_el_f3
std::vector< float > * m_el_reta
std::vector< unsigned int > * m_c711_channelChannelIdMap
std::vector< int > * m_hits_clusterIndex_chLvl
std::vector< float > * m_mc_vert_perp
std::vector< float > * m_c711_channelADC2MEV1
Gaudi::Property< std::string > m_offTagTightness
virtual StatusCode execute() override
bool eOverPElectron(const xAOD::Electron *electron)
std::vector< float > * m_el_weta2
std::vector< float > * m_el_eoverp
std::vector< float > * m_el_m
std::vector< double > * m_c_cellToClusterDEta
std::vector< unsigned int > * m_c_rawChannelIdMap
std::vector< double > * m_hits_time
double fixPhi(double phi)
std::vector< unsigned int > * m_c711_channelHashMap
Electron_v1 Electron
Definition of the current "egamma version".