ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
LArTBH6TriggerTimeTool Class Reference

#include <LArTBH6TriggerTimeTool.h>

Inheritance diagram for LArTBH6TriggerTimeTool:
Collaboration diagram for LArTBH6TriggerTimeTool:

Public Member Functions

 LArTBH6TriggerTimeTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual StatusCode initialize ()
 
virtual ~LArTBH6TriggerTimeTool ()
 
virtual double time ()
 returns the time offset of the current trigger More...
 
virtual void handle (const Incident &incident)
 
double larTime ()
 
double trackRecordTime ()
 
 LArTBH6TriggerTimeTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual StatusCode initialize ()
 
virtual ~LArTBH6TriggerTimeTool ()
 
virtual double time ()
 returns the time offset of the current trigger More...
 
virtual void handle (const Incident &incident)
 
double larTime ()
 
double trackRecordTime ()
 

Private Attributes

double m_time
 
bool m_newEvent
 
bool m_fixed
 
std::vector< SG::ReadHandle< LArHitContainer > > m_hitcoll
 
StoreGateSvcm_sg
 

Detailed Description

Definition at line 15 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.

Constructor & Destructor Documentation

◆ LArTBH6TriggerTimeTool() [1/2]

LArTBH6TriggerTimeTool::LArTBH6TriggerTimeTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 10 of file LArTBH6TriggerTimeTool.cxx.

12  :
13  base_class(type,name,parent), m_time(0), m_newEvent(true),
14  m_fixed(true)
15 {
16  declareProperty("isFixed",m_fixed);
17  declareProperty("FixedTime",m_time);
18 
19  m_hitcoll.push_back( SG::ReadHandle< LArHitContainer >("LArHitEMEC") );
20  m_hitcoll.push_back( SG::ReadHandle< LArHitContainer >("LArHitHEC") );
21  m_hitcoll.push_back( SG::ReadHandle< LArHitContainer >("LArHitFCAL") );
22 }

◆ ~LArTBH6TriggerTimeTool() [1/2]

virtual LArTBH6TriggerTimeTool::~LArTBH6TriggerTimeTool ( )
inlinevirtual

Definition at line 26 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.

26 {}

◆ LArTBH6TriggerTimeTool() [2/2]

LArTBH6TriggerTimeTool::LArTBH6TriggerTimeTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

◆ ~LArTBH6TriggerTimeTool() [2/2]

virtual LArTBH6TriggerTimeTool::~LArTBH6TriggerTimeTool ( )
inlinevirtual

Member Function Documentation

◆ handle() [1/2]

void LArTBH6TriggerTimeTool::handle ( const Incident &  incident)
virtual

Definition at line 45 of file LArTBH6TriggerTimeTool.cxx.

45  {
46 
47  ATH_MSG_DEBUG ( " handle called " << "for incident "<< incident. type() );
48 
49  m_newEvent = true ;
50  return ;
51 }

◆ handle() [2/2]

virtual void LArTBH6TriggerTimeTool::handle ( const Incident &  incident)
virtual

◆ initialize() [1/2]

StatusCode LArTBH6TriggerTimeTool::initialize ( )
virtual

Definition at line 25 of file LArTBH6TriggerTimeTool.cxx.

26 {
27 
28  IIncidentSvc* incsvc;
29  if (StatusCode::SUCCESS!=service("IncidentSvc",incsvc))
30  {
31  ATH_MSG_FATAL ( "Incident service not found" );
32  return StatusCode::FAILURE ;
33  }
34 
35  long int pri=100;
36  incsvc->addListener(this,"BeginEvent",pri);
37 
38  ATH_MSG_DEBUG ( " LArTBH6TriggerTimeTool initialized " );
39 
40  return StatusCode::SUCCESS;
41 
42 }

◆ initialize() [2/2]

virtual StatusCode LArTBH6TriggerTimeTool::initialize ( )
virtual

◆ larTime() [1/2]

double LArTBH6TriggerTimeTool::larTime ( )

Definition at line 66 of file LArTBH6TriggerTimeTool.cxx.

66  {
67 
68  double te = 0;
69  double e = 0;
70  int n=0;
71 
72  for(auto &it : m_hitcoll){
73 
74  for(const LArHit* hit : *it){
75  e += hit->energy();
76  te += hit->energy() * hit->time() ;
77  ++n;
78  }
79  }
80 
81  if(n==0){
82  ATH_MSG_INFO ( " no LArHit in this event" );
83  return 0 ;
84  }
85  if(e==0){
86  ATH_MSG_INFO ( " no LArHit energy in this event" );
87  return 0;
88  }
89 
90  double t = te/e;
91  ATH_MSG_DEBUG ( " average time from LArHit = " <<t );
92 
93  return t;
94 
95 
96 }

◆ larTime() [2/2]

double LArTBH6TriggerTimeTool::larTime ( )

◆ time() [1/2]

virtual double LArTBH6TriggerTimeTool::time ( )
virtual

returns the time offset of the current trigger

◆ time() [2/2]

double LArTBH6TriggerTimeTool::time ( )
virtual

returns the time offset of the current trigger

Definition at line 53 of file LArTBH6TriggerTimeTool.cxx.

53  {
54 
55  if(m_fixed || !m_newEvent) return m_time;
56 
57  // new event, try to get it from FrontHit
58  // double t1 = trackRecordTime();
59  m_time = larTime() ;
60 
61  m_newEvent= false;
62  return m_time;
63 }

◆ trackRecordTime() [1/2]

double LArTBH6TriggerTimeTool::trackRecordTime ( )

◆ trackRecordTime() [2/2]

double LArTBH6TriggerTimeTool::trackRecordTime ( )

Member Data Documentation

◆ m_fixed

bool LArTBH6TriggerTimeTool::m_fixed
private

Definition at line 40 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.

◆ m_hitcoll

std::vector< SG::ReadHandle< LArHitContainer > > LArTBH6TriggerTimeTool::m_hitcoll
private

Definition at line 42 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.

◆ m_newEvent

bool LArTBH6TriggerTimeTool::m_newEvent
private

Definition at line 39 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.

◆ m_sg

StoreGateSvc* LArTBH6TriggerTimeTool::m_sg
private

◆ m_time

double LArTBH6TriggerTimeTool::m_time
private

Definition at line 38 of file LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h.


The documentation for this class was generated from the following files:
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
SG::ReadHandle< LArHitContainer >
LArTBH6TriggerTimeTool::m_time
double m_time
Definition: LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h:38
skel.it
it
Definition: skel.GENtoEVGEN.py:423
LArTBH6TriggerTimeTool::larTime
double larTime()
Definition: LArTBH6TriggerTimeTool.cxx:66
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LArTBH6TriggerTimeTool::m_fixed
bool m_fixed
Definition: LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h:40
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArTBH6TriggerTimeTool::m_newEvent
bool m_newEvent
Definition: LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h:39
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArHit
Class to store hit energy and time in LAr cell from G4 simulation.
Definition: LArHit.h:25
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
LArTBH6TriggerTimeTool::m_hitcoll
std::vector< SG::ReadHandle< LArHitContainer > > m_hitcoll
Definition: LArG4/LArG4H6SD/src/LArTBH6TriggerTimeTool.h:42