ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Static Private Attributes | List of all members
D3PD::TileCellFillerTool Class Reference

#include <TileCellFillerTool.h>

Inheritance diagram for D3PD::TileCellFillerTool:
Collaboration diagram for D3PD::TileCellFillerTool:

Public Member Functions

 TileCellFillerTool (const std::string &type, const std::string &name, const IInterface *parent)
 
 ~TileCellFillerTool ()
 
virtual StatusCode initialize ()
 
virtual StatusCode book ()
 Declare tuple variables. More...
 
virtual StatusCode fill (const CaloCell &p)
 Fill one block — type-safe version. More...
 
virtual StatusCode finalize ()
 
virtual StatusCode configureD3PD (IAddVariable *tree, const std::type_info &ti)
 Configure during initialization: type-check. More...
 
StatusCode configureD3PD (IAddVariable *tree)
 Configure the parent tree. More...
 
virtual StatusCode fillUntyped (const void *p, bool again=false)
 Fill one block. More...
 
virtual StatusCode fillAgain (const CaloCell &p)
 Fill one block, after AGAIN has been returned (type-safe). More...
 
virtual StatusCode addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
 Add a variable to the tuple. More...
 
template<class T >
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring="")
 Make the template implementation from IAddVariable visible. More...
 
template<class T , class U >
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval)
 Make the template implementation from IAddVariable visible. More...
 
virtual StatusCode addVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)=0
 Make the template implementation from IAddVariable visible. More...
 
template<class T >
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring="")
 Add a variable to the tuple. More...
 
template<class T , class U >
StatusCode addVariable (const std::string &name, T *&ptr, const std::string &docstring, const U &defval)
 Add a variable to the tuple. More...
 
virtual StatusCode addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)
 Add a variable to the tuple. More...
 
template<class T >
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
 Add a variable to the tuple. More...
 
template<class T , class U >
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval)
 Add a variable to the tuple. More...
 
virtual StatusCode addDimensionedVariable (const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)=0
 Add a variable to the tuple. More...
 
template<class T >
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
 Add a variable to the tuple. More...
 
template<class T , class U >
StatusCode addDimensionedVariable (const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring, const U &defval)
 Add a variable to the tuple. More...
 

Protected Member Functions

StatusCode configureImpl (IAddVariable *tree, const std::type_info &ti, const std::type_info &fill_ti)
 Configure during initialization: type-check. More...
 
StatusCode configureImpl (IAddVariable *tree, const std::type_info &ti, const std::vector< const std::type_info * > &tis, size_t &which)
 Configure during initialization: type-check. More...
 
StatusCode convert (void const *&p) const
 Do type conversion. More...
 

Protected Attributes

ObjectMetadata m_metadata
 Metadata about the variables created by this object. More...
 

Private Attributes

short m_LevelOfDetails
 
std::string m_standalone
 
short m_trackType
 
std::string m_muonContainerName
 
float * m_cellEnergy
 
float * m_cellEt
 
int m_filterConfiguration
 
float * m_pmt1Energy
 
float * m_pmt2Energy
 
float * m_pmt1Time
 
float * m_pmt2Time
 
unsigned short * m_pmt1Quality
 
unsigned short * m_pmt2Quality
 
unsigned short * m_pmt1Qbit
 
unsigned short * m_pmt2Qbit
 
bool * m_pmt1Bad
 
bool * m_pmt2Bad
 
short * m_pmt1Gain
 
short * m_pmt2Gain
 
short * m_pmt1Ros
 
short * m_pmt2Ros
 
short * m_pmt1Drawer
 
short * m_pmt2Drawer
 
short * m_pmt1Channel
 
short * m_pmt2Channel
 
float * m_cellEta
 
float * m_cellPhi
 
float * m_cellSinTh
 
float * m_cellCosTh
 
float * m_cellCotTh
 
float * m_cellX
 
float * m_cellY
 
float * m_cellZ
 
float * m_cellR
 
float * m_celldX
 
float * m_celldY
 
float * m_celldZ
 
float * m_celldR
 
float * m_cellV
 
float * m_celldPhi
 
float * m_celldEta
 
unsigned short * m_muN
 
std::vector< float > * m_to_muon_dx
 
std::vector< float > * m_to_muon_dy
 
std::vector< float > * m_to_muon_dz
 
std::vector< float > * m_to_muon_dEta
 
std::vector< float > * m_to_muon_dPhi
 
std::vector< short > * m_mutype
 
std::vector< short > * m_muonAuthor
 
std::vector< float > * m_muptcone40
 
std::vector< float > * m_mularcone40
 
std::vector< float > * m_mup
 
std::vector< short > * m_muNsiliconhits
 
std::vector< float > * m_muonX
 
std::vector< float > * m_muonY
 
std::vector< float > * m_muonZ
 
std::vector< float > * m_muonEta
 
std::vector< float > * m_muonPhi
 
std::vector< float > * m_dx
 
std::vector< float > * m_dEdx
 
int * m_cellGain
 
bool * m_badCell
 
float * m_time
 
uint16_t * m_quality
 
unsigned int * m_samplingID
 
float * m_subcalo
 
ToolHandle< ITrackToolsm_trackInCalo
 
StoreGateSvcm_storeGate
 
const TileIDm_tileID
 
const TileHWIDm_tileHWID
 
short * m_side
 
short * m_section
 
short * m_module
 
short * m_tower
 
short * m_sample
 
short * m_eta_index
 
std::string m_prefix
 Property: the variable prefix for this block. More...
 
std::string m_suffix
 Property: the variable prefix for this block. More...
 
std::string m_blockName
 Property: the name of this block. More...
 
TypeConverter m_converter
 Helper to do type conversions. More...
 
IAddVariablem_tree
 Reference to the block name. More...
 

Static Private Attributes

static const std::string s_emptyString
 Used to provide a default value for blockName. More...
 

Detailed Description

Definition at line 46 of file TileCellFillerTool.h.

Constructor & Destructor Documentation

◆ TileCellFillerTool()

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

Definition at line 26 of file TileCellFillerTool.cxx.

26  :
27 BlockFillerTool<CaloCell> (type, name, parent),
28 m_trackInCalo("TrackInCaloTools/extrapolMuonInCaloTool"){
29 //=======================================================================================================================
30 
31  // TRACK EXTRAPOLATOR TOOL
32  declareProperty("TrackTools", m_trackInCalo);
33  declareProperty("LevelOfDetails", m_LevelOfDetails = 1);
34  declareProperty("TryStandAloneMuons", m_standalone = "no");
35  declareProperty("FilterConfiguration", m_filterConfiguration = 0);
36  declareProperty("TrackType", m_trackType = 0);
37  declareProperty("MuonContainerName", m_muonContainerName="Muons");
38 
39  TileCellFillerTool::book().ignore(); // AVOID COVERITY WARNINGS
40 
41 } // TileCellFillerTool::TileCellFillerTool

◆ ~TileCellFillerTool()

D3PD::TileCellFillerTool::~TileCellFillerTool ( )
inline

Definition at line 52 of file TileCellFillerTool.h.

52 {;};

Member Function Documentation

◆ addDimensionedVariable() [1/6]

StatusCode D3PD::AddVariable::addDimensionedVariable ( const std::string &  name,
const std::type_info &  ti,
void *&  ptr,
const std::string &  dim,
const std::string &  docstring = "",
const void *  defval = 0 
)
virtualinherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
typeThe type of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

Implements D3PD::IAddVariable.

Definition at line 123 of file AddVariable.cxx.

129 {
130  if (!m_tree) {
131  // Called from constructor --- just initialize pointer.
132  ptr = 0;
133  return StatusCode::SUCCESS;
134  }
135 
137  ti, ptr, dim,
138  docstring, defval ) );
140  ti, ptr, dim,
141  docstring, defval);
142 }

◆ addDimensionedVariable() [2/6]

virtual StatusCode D3PD::IAddVariable::addDimensionedVariable
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
typeThe type of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

◆ addDimensionedVariable() [3/6]

template<class T , class U >
StatusCode D3PD::IAddVariable::addDimensionedVariable ( class T  ,
class U   
)
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

◆ addDimensionedVariable() [4/6]

template<class T , class U >
StatusCode D3PD::IAddVariable::addDimensionedVariable ( const std::string &  name,
T *&  ptr,
const std::string &  dim,
const std::string &  docstring,
const U &  defval 
)
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

◆ addDimensionedVariable() [5/6]

template<class T >
StatusCode D3PD::IAddVariable::addDimensionedVariable ( class T  )
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.

If called from the constructor, the only effect is to clear ptr.

◆ addDimensionedVariable() [6/6]

template<class T >
StatusCode D3PD::IAddVariable::addDimensionedVariable ( const std::string &  name,
T *&  ptr,
const std::string &  dim,
const std::string &  docstring = "" 
)
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
dimDimension for the variable. (Presently unimplemented!)
docstringDocumentation string for this variable.

If called from the constructor, the only effect is to clear ptr.

◆ addVariable() [1/6]

StatusCode D3PD::AddVariable::addVariable ( const std::string &  name,
const std::type_info &  ti,
void *&  ptr,
const std::string &  docstring = "",
const void *  defval = 0 
)
virtualinherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
typeThe type of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Null for no default (generally means to fill with zeros). Of the type given by ti. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

Implements D3PD::IAddVariable.

Definition at line 85 of file AddVariable.cxx.

90 {
91  if (!m_tree) {
92  // Called from constructor --- just initialize pointer.
93  ptr = 0;
94  return StatusCode::SUCCESS;
95  }
96 
98  ti, ptr, docstring, defval ) );
100  ti, ptr, docstring, defval);
101 }

◆ addVariable() [2/6]

virtual StatusCode D3PD::IAddVariable::addVariable
inherited

Make the template implementation from IAddVariable visible.

◆ addVariable() [3/6]

template<class T , class U >
StatusCode D3PD::IAddVariable::addVariable ( class T  ,
class U   
)
inherited

Make the template implementation from IAddVariable visible.

◆ addVariable() [4/6]

template<class T , class U >
StatusCode D3PD::IAddVariable::addVariable ( const std::string &  name,
T *&  ptr,
const std::string &  docstring,
const U &  defval 
)
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
docstringDocumentation string for this variable.
defvalPointer to the default value to use for this variable. Only works for basic types.

If called from the constructor, the only effect is to clear ptr.

◆ addVariable() [5/6]

template<class T >
StatusCode D3PD::IAddVariable::addVariable ( class T  )
inherited

Make the template implementation from IAddVariable visible.

◆ addVariable() [6/6]

template<class T >
StatusCode D3PD::IAddVariable::addVariable ( const std::string &  name,
T *&  ptr,
const std::string &  docstring = "" 
)
inherited

Add a variable to the tuple.

Parameters
nameThe name of the variable.
ptrPointer to the type of the variable. The pointer need not be initialized; the D3PD software will set the pointer prior to calling fill().
docstringDocumentation string for this variable.

If called from the constructor, the only effect is to clear ptr.

◆ book()

StatusCode D3PD::TileCellFillerTool::book ( )
virtual

Declare tuple variables.

This is called at the start of the first event.

Implements D3PD::BlockFillerTool< CaloCell >.

Definition at line 79 of file TileCellFillerTool.cxx.

79  {
80 //========================================
81  if(m_LevelOfDetails > 0){
82  // CELL ENERGY AND ETA/PHI
84  CHECK( addVariable ("Et", m_cellEt));
85  CHECK( addVariable ("eta", m_cellEta));
86  CHECK( addVariable ("phi", m_cellPhi));
87  } // IF
88 
89  if(m_LevelOfDetails > 1){
90  CHECK( addVariable ("gain", m_cellGain));
91  CHECK( addVariable ("badCell", m_badCell));
92  CHECK( addVariable ("samplingID", m_samplingID));
93  CHECK( addVariable ("time", m_time));
94  CHECK( addVariable ("quality", m_quality));
95  CHECK( addVariable ("subcalo", m_subcalo));
96  } // IF
97 
98  if(m_LevelOfDetails > 2){
99  // GLOBAL CELL POSITIONING AND QUALITY
100  CHECK( addVariable ("sinTh", m_cellSinTh));
101  CHECK( addVariable ("cosTh", m_cellCosTh));
102  CHECK( addVariable ("cotTh", m_cellCotTh));
103  CHECK( addVariable ("x", m_cellX));
104  CHECK( addVariable ("y", m_cellY));
105  CHECK( addVariable ("z", m_cellZ));
106 
107  // CELL DIMENSIONS
108  CHECK( addVariable ("R", m_cellR));
109  CHECK( addVariable ("dR", m_celldR));
110  CHECK( addVariable ("dx", m_celldX));
111  CHECK( addVariable ("dy", m_celldY));
112  CHECK( addVariable ("dz", m_celldZ));
113  CHECK( addVariable ("V", m_cellV));
114  CHECK( addVariable ("dPhi", m_celldPhi));
115  CHECK( addVariable ("dEta", m_celldEta));
116 
117  // TILECAL CELL POSITIONING
118  CHECK( addVariable ("side", m_side , "",-2));
119  CHECK( addVariable ("section", m_section , "",-2));
120  CHECK( addVariable ("module", m_module , "",-2));
121  CHECK( addVariable ("tower", m_tower , "",-2));
122  CHECK( addVariable ("sample", m_sample , "",-2));
123  CHECK( addVariable ("eta_index", m_eta_index, "",-2));
124  } // IF
125 
126  if(m_LevelOfDetails > 3){
127  // PMT INFORMATION
128  CHECK( addVariable ("PMT1_energy", m_pmt1Energy, "",0.));
129  CHECK( addVariable ("PMT1_time", m_pmt1Time, "",0.));
130  CHECK( addVariable ("PMT1_quality", m_pmt1Quality, "",0));
131  CHECK( addVariable ("PMT1_qbit", m_pmt1Qbit, "",0));
132  CHECK( addVariable ("PMT1_bad", m_pmt1Bad, "",false));
133  CHECK( addVariable ("PMT1_gain", m_pmt1Gain, "",0));
134  CHECK( addVariable ("PMT1_ros", m_pmt1Ros, "",-1));
135  CHECK( addVariable ("PMT1_drawer", m_pmt1Drawer, "",-1));
136  CHECK( addVariable ("PMT1_channel", m_pmt1Channel, "",-1));
137 
138  CHECK( addVariable ("PMT2_energy", m_pmt2Energy, "",0.));
139  CHECK( addVariable ("PMT2_time", m_pmt2Time, "",0.));
140  CHECK( addVariable ("PMT2_quality", m_pmt2Quality, "",0));
141  CHECK( addVariable ("PMT2_qbit", m_pmt2Qbit, "",0));
142  CHECK( addVariable ("PMT2_bad", m_pmt2Bad, "",false));
143  CHECK( addVariable ("PMT2_gain", m_pmt2Gain, "",0));
144  CHECK( addVariable ("PMT2_ros", m_pmt2Ros, "",-1));
145  CHECK( addVariable ("PMT2_drawer", m_pmt2Drawer, "",-1));
146  CHECK( addVariable ("PMT2_channel", m_pmt2Channel, "",-1));
147  } // IF
148 
149  if(m_LevelOfDetails > 4){
150  // PATH LENGTH AND CELL RESPONSE
151  CHECK( addVariable ("muon_N", m_muN, "", 0));
152  CHECK( addVariable ("muon_dx", m_dx));
153  CHECK( addVariable ("muon_dEdx", m_dEdx));
154  CHECK( addVariable ("muon_type", m_mutype));
155  CHECK( addVariable ("muon_author", m_muonAuthor));
156  CHECK( addVariable ("muon_ptcone40", m_muptcone40));
157  CHECK( addVariable ("muon_larcone40", m_mularcone40));
158  CHECK( addVariable ("muon_p", m_mup));
159  CHECK( addVariable ("muon_Nsiliconhits", m_muNsiliconhits));
160  CHECK( addVariable ("muon_x", m_muonX));
161  CHECK( addVariable ("muon_y", m_muonY));
162  CHECK( addVariable ("muon_z", m_muonZ));
163  CHECK( addVariable ("muon_phi", m_muonPhi));
164  CHECK( addVariable ("muon_eta", m_muonEta));
165  CHECK( addVariable ("to_muon_dx", m_to_muon_dx));
166  CHECK( addVariable ("to_muon_dy", m_to_muon_dy));
167  CHECK( addVariable ("to_muon_dz", m_to_muon_dz));
168  CHECK( addVariable ("to_muon_dPhi", m_to_muon_dPhi));
169  CHECK( addVariable ("to_muon_dEta", m_to_muon_dEta));
170  } // IF
171 
172  return StatusCode::SUCCESS;
173 } // TileCellFillerTool::book

◆ configureD3PD() [1/2]

StatusCode D3PD::AddVariable::configureD3PD ( IAddVariable tree)
inherited

Configure the parent tree.

Parameters
treeThe parent IAddVariable instance.

Definition at line 61 of file AddVariable.cxx.

62 {
63  m_tree = tree;
64  m_metadata.clear();
65  return StatusCode::SUCCESS;
66 }

◆ configureD3PD() [2/2]

virtual StatusCode D3PD::BlockFillerTool< CaloCell >::configureD3PD ( IAddVariable tree,
const std::type_info &  ti 
)
virtualinherited

Configure during initialization: type-check.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to fillUntyped.

configureD3PD should check that the type of the object coming as input is compatible with what it expects, and raise an error otherwise.

◆ configureImpl() [1/2]

StatusCode D3PD::BlockFillerToolImpl::configureImpl ( IAddVariable tree,
const std::type_info &  ti,
const std::type_info &  fill_ti 
)
protectedinherited

Configure during initialization: type-check.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to fillUntyped.
fill_tiis the type of object that the user code will expect.

This is the common implementation for the configureD3PD method of IBlockFillerTool. It checks that the type of the object coming as input is compatible with what the user code is expecting, and raises an error otherwise.

Definition at line 55 of file BlockFillerToolImpl.cxx.

58 {
60  CHECK( m_converter.init (ti, fill_ti) );
61 
62  return StatusCode::SUCCESS;
63 }

◆ configureImpl() [2/2]

StatusCode D3PD::BlockFillerToolImpl::configureImpl ( IAddVariable tree,
const std::type_info &  ti,
const std::vector< const std::type_info * > &  tis,
size_t &  which 
)
protectedinherited

Configure during initialization: type-check.

Parameters
treeOur parent for tuple making.
tiGives the type of the object being passed to fillUntyped.
tisList of possible input types that we can accept.
[out]whichIndex of the accepted type.

This is the common implementation for the configureD3PD method of IBlockFillerTool. It checks that the type of the object coming as input is compatible with what the user code is expecting, and raises an error otherwise.

This version allows for one of a set of types to match. If successful, WHICH is set to the index (0-based) of the matching type.

Definition at line 83 of file BlockFillerToolImpl.cxx.

87 {
89  CHECK( m_converter.init (ti, tis, which) );
90  return StatusCode::SUCCESS;
91 }

◆ convert()

StatusCode D3PD::BlockFillerToolImpl::convert ( void const *&  p) const
protectedinherited

Do type conversion.

Parameters
p[in,out]Pointer to convert.

On entry, p is a pointer to an object of the type that was passed into configureImpl as ti. Convert the pointer to point to an object of the type that was given as fill_ti. If the conversion fails, the pointer is set to 0 (and FAILURE is returned).

Definition at line 105 of file BlockFillerToolImpl.cxx.

106 {
108  if (!p) {
109  REPORT_MESSAGE (MSG::ERROR)
110  << "Pointer conversion from " << m_converter.srcName() << " to "
111  << m_converter.dstName() << "failed.";
112  return StatusCode::FAILURE;
113  }
114  return StatusCode::SUCCESS;
115 }

◆ fill()

StatusCode D3PD::TileCellFillerTool::fill ( const CaloCell p)
virtual

Fill one block — type-safe version.

Parameters
pThe input object.

This is called once per object. The caller is responsible for arranging that all the pointers for booked variables are set appropriately upon entry.

primaryTrackParticle() Returns a pointer (which should not usually be NULL, but might be if the muon has been stripped of information) to the primary TrackParticle corresponding to the MuonType of this muon. This is determined in the following order:

  1. CombinedTrackParticle
  2. InnerDetectorTrackParticle
  3. MuonSpectrometerTrackParticle

Implements D3PD::BlockFillerTool< CaloCell >.

Definition at line 176 of file TileCellFillerTool.cxx.

176  {
177 //==========================================================
178  ATH_MSG_DEBUG("TileCellFillerTool::fill()");
179 
180  const CaloDetDescrElement *dde = p.caloDDE();
181 
182  if(m_LevelOfDetails > 0){
183  // DEPOSITED ENERGY
184  *m_cellEnergy = p.energy();
185  *m_cellEt = p.et();
186 
187  // CELL POSITION
188  *m_cellEta = p.eta();
189  *m_cellPhi = p.phi();
190  } // IF
191 
192  if(m_LevelOfDetails > 1){
193  *m_cellGain = p.gain();
194  *m_badCell = p.badcell();
195  *m_time = p.time();
196  *m_quality = p.provenance();
197  *m_samplingID = dde->getSampling();
198  *m_subcalo = dde->getSubCalo();
199 
200  } // IF
201 
202  if(m_LevelOfDetails > 2){
203  *m_cellSinTh = p.sinTh();
204  *m_cellCosTh = p.cosTh();
205  *m_cellCotTh = p.cotTh();
206 
207  // CELL DIMENSIONS
208  *m_cellX = dde->x();
209  *m_cellY = dde->y();
210  *m_cellZ = dde->z();
211  *m_cellR = dde->r();
212  *m_celldX = dde->dx();
213  *m_celldY = dde->dy();
214  *m_celldZ = dde->dz();
215  *m_celldR = dde->dr();
216  *m_cellV = dde->volume();
217  *m_celldPhi = dde->dphi();
218  *m_celldEta = dde->deta();
219 
220 
221  // RAW CHANNEL INFORMATION
222  const CaloCell* cell=&p;
223  const TileCell* tilecell = dynamic_cast<const TileCell*> (cell);
224 
225  if(tilecell){
226  *m_side = m_tileID->side(cell->ID());
227  *m_section = m_tileID->section(cell->ID());
228  *m_module = m_tileID->module(cell->ID());
229  *m_tower = m_tileID->tower(cell->ID());
230  *m_sample = m_tileID->sample(cell->ID());
231  *m_eta_index = m_trackInCalo->retrieveIndex(*m_samplingID,*m_cellEta);
232 
233  if(m_LevelOfDetails > 3){
234  *m_pmt1Energy = tilecell->ene1();
235  *m_pmt2Energy = tilecell->ene2();
236  *m_pmt1Time = tilecell->time1();
237  *m_pmt2Time = tilecell->time2();
238  *m_pmt1Quality = tilecell->qual1();
239  *m_pmt2Quality = tilecell->qual2();
240  *m_pmt1Qbit = tilecell->qbit1();
241  *m_pmt2Qbit = tilecell->qbit2();
242  *m_pmt1Bad = tilecell->badch1();
243  *m_pmt2Bad = tilecell->badch2();
244  *m_pmt1Gain = tilecell->gain1();
245  *m_pmt2Gain = tilecell->gain2();
246 
247  *m_pmt1Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
248  *m_pmt2Ros = m_tileHWID->ros(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
249  *m_pmt1Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
250  *m_pmt2Drawer = m_tileHWID->drawer(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
251  *m_pmt1Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl1(),tilecell->gain1()));
252  *m_pmt2Channel = m_tileHWID->channel(m_tileHWID->adc_id(dde->onl2(),tilecell->gain2()));
253  } // IF
254  } // ELSE
255  } // IF
256 
257  if(m_LevelOfDetails > 4){
258  // RETRIEVE APPROPRIATE POINTERS
259  // GET HANDLE ON MUON CONTAINER
260  const MUONCONTAINER* muons = 0;
261 
262  // MUONS
263  CHECK( m_storeGate->retrieve( muons, m_muonContainerName ) );
264 
265  MUONCONTAINER::const_iterator muonItr = muons->begin();
266  MUONCONTAINER::const_iterator muonEnd = muons->end();
267  for(; muonItr != muonEnd; ++muonItr ){
268  const MUON* muon = *muonItr;
269  // MUON COUNTER AND TYPES
270  *m_muN = *m_muN + 1;
271  m_mutype->push_back(m_trackType); // NO MUON
272  m_muonAuthor->push_back( muon->author() );
273 
280  const TRACK* muon_track = 0;
281  switch(m_trackType)
282  {
283  case 0: muon_track = muon->trackParticle(xAOD::Muon::CombinedTrackParticle); break;
284  case 1: muon_track = muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle); break;
285  case 2: muon_track = muon->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); break;
286  default: muon_track = muon->primaryTrackParticle(); break;
287  } // SWITCH
288  if(!muon_track) continue;
289 
290  std::vector<double> coordinates = m_trackInCalo->getXYZEtaPhiInCellSampling(muon_track,&p);
291 
292  if(coordinates.size() == 5 )
293  {
294  // CALCULATE PATH LENGTHS USING EXTRAPOLATOR TOOL
295  float path = m_trackInCalo->getPathInsideCell(muon_track,&p);
296  float ptcone40 = 0.;
297  if (!muon->isolation(ptcone40, Iso::IsolationType::ptcone40 ))
298  ptcone40 = 0;
299  m_muptcone40 ->push_back(ptcone40);
300  m_mularcone40 ->push_back(0.); //FIXME
301  m_mup ->push_back(muon->p4().P());
302 
303  uint8_t NumberOfPixelHits=0;
305  if( !muon->summaryValue(NumberOfPixelHits,xAOD::numberOfPixelHits) )
306  {
307  ATH_MSG_INFO("Can not get the value of numberOfPixelHits");
308  }
309  if( !muon->summaryValue(NumberOfSCTHits,xAOD::numberOfSCTHits) )
310  {
311  ATH_MSG_INFO("Can not get the value of numberOfSCTHits");
312  }
313 
314  m_muNsiliconhits->push_back( int(NumberOfPixelHits + NumberOfSCTHits) );
315 
316  m_muonX ->push_back(coordinates[0]);
317  m_muonY ->push_back(coordinates[1]);
318  m_muonZ ->push_back(coordinates[2]);
319  m_muonEta->push_back(coordinates[3]);
320  m_muonPhi->push_back(coordinates[4]);
321 
322  m_to_muon_dx ->push_back(*m_cellX - coordinates[0]);
323  m_to_muon_dy ->push_back(*m_cellY - coordinates[1]);
324  m_to_muon_dz ->push_back(*m_cellZ - coordinates[2]);
325  m_to_muon_dEta->push_back(*m_cellEta - coordinates[3]);
326  m_to_muon_dPhi->push_back( KinematicUtils::deltaPhi(coordinates[4],*m_cellPhi) );
327 
328  m_dx->push_back(path);
329  m_dEdx->push_back(path > 0 ? p.energy() / path : -1.);
330  } // IF
331  } // FOR
332  } // IF
333 
334  return StatusCode::SUCCESS;
335 } // TileCellFillerTool::fill

◆ fillAgain()

virtual StatusCode D3PD::BlockFillerTool< CaloCell >::fillAgain ( const T &  p)
virtualinherited

Fill one block, after AGAIN has been returned (type-safe).

Parameters
pThe input object.

Once fill returns AGAIN, the parent should call fillAgain with the same arguments. This continues until fillAgain returns something other than AGAIN.

By default, this just calls fill().

◆ fillUntyped()

virtual StatusCode D3PD::BlockFillerTool< CaloCell >::fillUntyped ( const void *  p,
bool  again = false 
)
virtualinherited

Fill one block.

Parameters
pThe input object.
againSet if this is a subsequent call requested by an AGAIN return

This is called once per object. The type of the object at which p points is given by the ti argument to configureD3PD. The caller is responsible for arranging that all the pointers for booked variables are set appropriately upon entry.

If the return status is the special code AGAIN (defined above), then this filler tool wants to make multiple entries. The parent should set up to capture a new ‘row’ and run through the list of block filler tools again, but for this tool call fillAgainUntyped instead of fillUntyped. This should be repeated as long as fillAgainUntyped returns AGAIN.

Once fillUntyped returns AGAIN, the parent should call fillUntyped with the same p argument and again set to true. This continues until fillUntyped returns something other than AGAIN.

Not all parents may support this. In that case, returning AGAIN will be treated as an error.

◆ finalize()

StatusCode D3PD::TileCellFillerTool::finalize ( )
virtual

Definition at line 70 of file TileCellFillerTool.cxx.

70  {
71 //============================================
72 
73  ATH_MSG_DEBUG("TileCellFillerTool::finalize()");
74  return StatusCode::SUCCESS;
75 
76 } // TileCellFillerTool::finalize

◆ initialize()

StatusCode D3PD::TileCellFillerTool::initialize ( )
virtual

Definition at line 45 of file TileCellFillerTool.cxx.

45  {
46 //==============================================
47 
48  ATH_MSG_DEBUG("TileCellFillerTool::initialize()");
49 
50  IToolSvc* toolsvc;
51  CHECK(service("ToolSvc",toolsvc));
52 
53  if(m_LevelOfDetails > 1){
54  // RETRIEVE CALORIMETER EXTRAPOLATOR TOOLS
55  CHECK(m_trackInCalo.retrieve());
56  } // IF
57 
58  // RETRIEVE STOREGATE AND SERVICES
59  CHECK(service("StoreGateSvc",m_storeGate));
60  if(m_LevelOfDetails > 2){
63  } // IF
64 
65  return StatusCode::SUCCESS;
66 
67 } // TileCellFillerTool::initialize

Member Data Documentation

◆ m_badCell

bool* D3PD::TileCellFillerTool::m_badCell
private

Definition at line 143 of file TileCellFillerTool.h.

◆ m_blockName

std::string D3PD::BlockFillerToolImpl::m_blockName
privateinherited

Property: the name of this block.

Definition at line 118 of file BlockFillerToolImpl.h.

◆ m_cellCosTh

float* D3PD::TileCellFillerTool::m_cellCosTh
private

Definition at line 100 of file TileCellFillerTool.h.

◆ m_cellCotTh

float* D3PD::TileCellFillerTool::m_cellCotTh
private

Definition at line 101 of file TileCellFillerTool.h.

◆ m_celldEta

float* D3PD::TileCellFillerTool::m_celldEta
private

Definition at line 114 of file TileCellFillerTool.h.

◆ m_celldPhi

float* D3PD::TileCellFillerTool::m_celldPhi
private

Definition at line 113 of file TileCellFillerTool.h.

◆ m_celldR

float* D3PD::TileCellFillerTool::m_celldR
private

Definition at line 111 of file TileCellFillerTool.h.

◆ m_celldX

float* D3PD::TileCellFillerTool::m_celldX
private

Definition at line 108 of file TileCellFillerTool.h.

◆ m_celldY

float* D3PD::TileCellFillerTool::m_celldY
private

Definition at line 109 of file TileCellFillerTool.h.

◆ m_celldZ

float* D3PD::TileCellFillerTool::m_celldZ
private

Definition at line 110 of file TileCellFillerTool.h.

◆ m_cellEnergy

float* D3PD::TileCellFillerTool::m_cellEnergy
private

Definition at line 69 of file TileCellFillerTool.h.

◆ m_cellEt

float* D3PD::TileCellFillerTool::m_cellEt
private

Definition at line 70 of file TileCellFillerTool.h.

◆ m_cellEta

float* D3PD::TileCellFillerTool::m_cellEta
private

Definition at line 97 of file TileCellFillerTool.h.

◆ m_cellGain

int* D3PD::TileCellFillerTool::m_cellGain
private

Definition at line 142 of file TileCellFillerTool.h.

◆ m_cellPhi

float* D3PD::TileCellFillerTool::m_cellPhi
private

Definition at line 98 of file TileCellFillerTool.h.

◆ m_cellR

float* D3PD::TileCellFillerTool::m_cellR
private

Definition at line 107 of file TileCellFillerTool.h.

◆ m_cellSinTh

float* D3PD::TileCellFillerTool::m_cellSinTh
private

Definition at line 99 of file TileCellFillerTool.h.

◆ m_cellV

float* D3PD::TileCellFillerTool::m_cellV
private

Definition at line 112 of file TileCellFillerTool.h.

◆ m_cellX

float* D3PD::TileCellFillerTool::m_cellX
private

Definition at line 104 of file TileCellFillerTool.h.

◆ m_cellY

float* D3PD::TileCellFillerTool::m_cellY
private

Definition at line 105 of file TileCellFillerTool.h.

◆ m_cellZ

float* D3PD::TileCellFillerTool::m_cellZ
private

Definition at line 106 of file TileCellFillerTool.h.

◆ m_converter

TypeConverter D3PD::BlockFillerToolImpl::m_converter
privateinherited

Helper to do type conversions.

Definition at line 121 of file BlockFillerToolImpl.h.

◆ m_dEdx

std::vector<float>* D3PD::TileCellFillerTool::m_dEdx
private

Definition at line 139 of file TileCellFillerTool.h.

◆ m_dx

std::vector<float>* D3PD::TileCellFillerTool::m_dx
private

Definition at line 138 of file TileCellFillerTool.h.

◆ m_eta_index

short* D3PD::TileCellFillerTool::m_eta_index
private

Definition at line 163 of file TileCellFillerTool.h.

◆ m_filterConfiguration

int D3PD::TileCellFillerTool::m_filterConfiguration
private

Definition at line 73 of file TileCellFillerTool.h.

◆ m_LevelOfDetails

short D3PD::TileCellFillerTool::m_LevelOfDetails
private

Definition at line 62 of file TileCellFillerTool.h.

◆ m_metadata

ObjectMetadata D3PD::AddVariable::m_metadata
protectedinherited

Metadata about the variables created by this object.

Definition at line 129 of file AddVariable.h.

◆ m_module

short* D3PD::TileCellFillerTool::m_module
private

Definition at line 160 of file TileCellFillerTool.h.

◆ m_mularcone40

std::vector<float>* D3PD::TileCellFillerTool::m_mularcone40
private

Definition at line 127 of file TileCellFillerTool.h.

◆ m_muN

unsigned short* D3PD::TileCellFillerTool::m_muN
private

Definition at line 117 of file TileCellFillerTool.h.

◆ m_muNsiliconhits

std::vector<short>* D3PD::TileCellFillerTool::m_muNsiliconhits
private

Definition at line 129 of file TileCellFillerTool.h.

◆ m_muonAuthor

std::vector<short>* D3PD::TileCellFillerTool::m_muonAuthor
private

Definition at line 125 of file TileCellFillerTool.h.

◆ m_muonContainerName

std::string D3PD::TileCellFillerTool::m_muonContainerName
private

Definition at line 65 of file TileCellFillerTool.h.

◆ m_muonEta

std::vector<float>* D3PD::TileCellFillerTool::m_muonEta
private

Definition at line 134 of file TileCellFillerTool.h.

◆ m_muonPhi

std::vector<float>* D3PD::TileCellFillerTool::m_muonPhi
private

Definition at line 135 of file TileCellFillerTool.h.

◆ m_muonX

std::vector<float>* D3PD::TileCellFillerTool::m_muonX
private

Definition at line 131 of file TileCellFillerTool.h.

◆ m_muonY

std::vector<float>* D3PD::TileCellFillerTool::m_muonY
private

Definition at line 132 of file TileCellFillerTool.h.

◆ m_muonZ

std::vector<float>* D3PD::TileCellFillerTool::m_muonZ
private

Definition at line 133 of file TileCellFillerTool.h.

◆ m_mup

std::vector<float>* D3PD::TileCellFillerTool::m_mup
private

Definition at line 128 of file TileCellFillerTool.h.

◆ m_muptcone40

std::vector<float>* D3PD::TileCellFillerTool::m_muptcone40
private

Definition at line 126 of file TileCellFillerTool.h.

◆ m_mutype

std::vector<short>* D3PD::TileCellFillerTool::m_mutype
private

Definition at line 124 of file TileCellFillerTool.h.

◆ m_pmt1Bad

bool* D3PD::TileCellFillerTool::m_pmt1Bad
private

Definition at line 84 of file TileCellFillerTool.h.

◆ m_pmt1Channel

short* D3PD::TileCellFillerTool::m_pmt1Channel
private

Definition at line 93 of file TileCellFillerTool.h.

◆ m_pmt1Drawer

short* D3PD::TileCellFillerTool::m_pmt1Drawer
private

Definition at line 91 of file TileCellFillerTool.h.

◆ m_pmt1Energy

float* D3PD::TileCellFillerTool::m_pmt1Energy
private

Definition at line 76 of file TileCellFillerTool.h.

◆ m_pmt1Gain

short* D3PD::TileCellFillerTool::m_pmt1Gain
private

Definition at line 86 of file TileCellFillerTool.h.

◆ m_pmt1Qbit

unsigned short* D3PD::TileCellFillerTool::m_pmt1Qbit
private

Definition at line 82 of file TileCellFillerTool.h.

◆ m_pmt1Quality

unsigned short* D3PD::TileCellFillerTool::m_pmt1Quality
private

Definition at line 80 of file TileCellFillerTool.h.

◆ m_pmt1Ros

short* D3PD::TileCellFillerTool::m_pmt1Ros
private

Definition at line 89 of file TileCellFillerTool.h.

◆ m_pmt1Time

float* D3PD::TileCellFillerTool::m_pmt1Time
private

Definition at line 78 of file TileCellFillerTool.h.

◆ m_pmt2Bad

bool* D3PD::TileCellFillerTool::m_pmt2Bad
private

Definition at line 85 of file TileCellFillerTool.h.

◆ m_pmt2Channel

short* D3PD::TileCellFillerTool::m_pmt2Channel
private

Definition at line 94 of file TileCellFillerTool.h.

◆ m_pmt2Drawer

short* D3PD::TileCellFillerTool::m_pmt2Drawer
private

Definition at line 92 of file TileCellFillerTool.h.

◆ m_pmt2Energy

float* D3PD::TileCellFillerTool::m_pmt2Energy
private

Definition at line 77 of file TileCellFillerTool.h.

◆ m_pmt2Gain

short* D3PD::TileCellFillerTool::m_pmt2Gain
private

Definition at line 87 of file TileCellFillerTool.h.

◆ m_pmt2Qbit

unsigned short* D3PD::TileCellFillerTool::m_pmt2Qbit
private

Definition at line 83 of file TileCellFillerTool.h.

◆ m_pmt2Quality

unsigned short* D3PD::TileCellFillerTool::m_pmt2Quality
private

Definition at line 81 of file TileCellFillerTool.h.

◆ m_pmt2Ros

short* D3PD::TileCellFillerTool::m_pmt2Ros
private

Definition at line 90 of file TileCellFillerTool.h.

◆ m_pmt2Time

float* D3PD::TileCellFillerTool::m_pmt2Time
private

Definition at line 79 of file TileCellFillerTool.h.

◆ m_prefix

std::string D3PD::BlockFillerToolImpl::m_prefix
privateinherited

Property: the variable prefix for this block.

Definition at line 112 of file BlockFillerToolImpl.h.

◆ m_quality

uint16_t* D3PD::TileCellFillerTool::m_quality
private

Definition at line 145 of file TileCellFillerTool.h.

◆ m_sample

short* D3PD::TileCellFillerTool::m_sample
private

Definition at line 162 of file TileCellFillerTool.h.

◆ m_samplingID

unsigned int* D3PD::TileCellFillerTool::m_samplingID
private

Definition at line 147 of file TileCellFillerTool.h.

◆ m_section

short* D3PD::TileCellFillerTool::m_section
private

Definition at line 159 of file TileCellFillerTool.h.

◆ m_side

short* D3PD::TileCellFillerTool::m_side
private

Definition at line 158 of file TileCellFillerTool.h.

◆ m_standalone

std::string D3PD::TileCellFillerTool::m_standalone
private

Definition at line 63 of file TileCellFillerTool.h.

◆ m_storeGate

StoreGateSvc* D3PD::TileCellFillerTool::m_storeGate
private

Definition at line 153 of file TileCellFillerTool.h.

◆ m_subcalo

float* D3PD::TileCellFillerTool::m_subcalo
private

Definition at line 148 of file TileCellFillerTool.h.

◆ m_suffix

std::string D3PD::BlockFillerToolImpl::m_suffix
privateinherited

Property: the variable prefix for this block.

Definition at line 115 of file BlockFillerToolImpl.h.

◆ m_tileHWID

const TileHWID* D3PD::TileCellFillerTool::m_tileHWID
private

Definition at line 157 of file TileCellFillerTool.h.

◆ m_tileID

const TileID* D3PD::TileCellFillerTool::m_tileID
private

Definition at line 156 of file TileCellFillerTool.h.

◆ m_time

float* D3PD::TileCellFillerTool::m_time
private

Definition at line 144 of file TileCellFillerTool.h.

◆ m_to_muon_dEta

std::vector<float>* D3PD::TileCellFillerTool::m_to_muon_dEta
private

Definition at line 121 of file TileCellFillerTool.h.

◆ m_to_muon_dPhi

std::vector<float>* D3PD::TileCellFillerTool::m_to_muon_dPhi
private

Definition at line 122 of file TileCellFillerTool.h.

◆ m_to_muon_dx

std::vector<float>* D3PD::TileCellFillerTool::m_to_muon_dx
private

Definition at line 118 of file TileCellFillerTool.h.

◆ m_to_muon_dy

std::vector<float>* D3PD::TileCellFillerTool::m_to_muon_dy
private

Definition at line 119 of file TileCellFillerTool.h.

◆ m_to_muon_dz

std::vector<float>* D3PD::TileCellFillerTool::m_to_muon_dz
private

Definition at line 120 of file TileCellFillerTool.h.

◆ m_tower

short* D3PD::TileCellFillerTool::m_tower
private

Definition at line 161 of file TileCellFillerTool.h.

◆ m_trackInCalo

ToolHandle<ITrackTools> D3PD::TileCellFillerTool::m_trackInCalo
private

Definition at line 151 of file TileCellFillerTool.h.

◆ m_trackType

short D3PD::TileCellFillerTool::m_trackType
private

Definition at line 64 of file TileCellFillerTool.h.

◆ m_tree

IAddVariable* D3PD::AddVariable::m_tree
privateinherited

Reference to the block name.

The parent IAddVariable instance.

Definition at line 143 of file AddVariable.h.

◆ s_emptyString

const std::string D3PD::AddVariable::s_emptyString
staticprivateinherited

Used to provide a default value for blockName.

Definition at line 41 of file AddVariable.h.


The documentation for this class was generated from the following files:
CaloDetDescrElement::deta
float deta() const
cell deta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:356
D3PD::TileCellFillerTool::m_cellGain
int * m_cellGain
Definition: TileCellFillerTool.h:142
D3PD::TileCellFillerTool::m_celldX
float * m_celldX
Definition: TileCellFillerTool.h:108
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
D3PD::TileCellFillerTool::m_cellY
float * m_cellY
Definition: TileCellFillerTool.h:105
D3PD::TileCellFillerTool::book
virtual StatusCode book()
Declare tuple variables.
Definition: TileCellFillerTool.cxx:79
TileCell
Definition: TileCell.h:57
CaloDetDescrElement::onl2
IdentifierHash onl2() const
cell online identifier 2
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:408
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
D3PD::TileCellFillerTool::m_time
float * m_time
Definition: TileCellFillerTool.h:144
D3PD::TileCellFillerTool::m_cellCotTh
float * m_cellCotTh
Definition: TileCellFillerTool.h:101
TileCell::time1
float time1(void) const
get time of first PMT
Definition: TileCell.h:198
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
Prompt::Def::NumberOfSCTHits
@ NumberOfSCTHits
Definition: VarHolder.h:79
D3PD::ObjectMetadata::addDimensionedVariable
virtual StatusCode addDimensionedVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &dim, const std::string &docstring="", const void *defval=0)
The object doesn't support dimensioned variables at the moment, like most of the D3PDMaker code doesn...
Definition: ObjectMetadata.cxx:157
yodamerge_tmp.dim
dim
Definition: yodamerge_tmp.py:239
D3PD::TileCellFillerTool::m_muonEta
std::vector< float > * m_muonEta
Definition: TileCellFillerTool.h:134
D3PD::TileCellFillerTool::m_pmt2Bad
bool * m_pmt2Bad
Definition: TileCellFillerTool.h:85
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
D3PD::TileCellFillerTool::m_cellSinTh
float * m_cellSinTh
Definition: TileCellFillerTool.h:99
athena.path
path
python interpreter configuration --------------------------------------—
Definition: athena.py:126
D3PD::TileCellFillerTool::m_trackType
short m_trackType
Definition: TileCellFillerTool.h:64
D3PD::TileCellFillerTool::m_pmt2Qbit
unsigned short * m_pmt2Qbit
Definition: TileCellFillerTool.h:83
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
CaloDetDescrElement::y
float y() const
cell y
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:365
D3PD::TileCellFillerTool::m_cellCosTh
float * m_cellCosTh
Definition: TileCellFillerTool.h:100
D3PD::TileCellFillerTool::m_muptcone40
std::vector< float > * m_muptcone40
Definition: TileCellFillerTool.h:126
TileCell::time2
float time2(void) const
get time of second PMT
Definition: TileCell.h:200
D3PD::TileCellFillerTool::m_LevelOfDetails
short m_LevelOfDetails
Definition: TileCellFillerTool.h:62
D3PD::TypeConverter::dstName
std::string dstName() const
Return the name of the destination type, or an empty string.
Definition: TypeConverter.cxx:151
D3PD::AddVariable::configureD3PD
StatusCode configureD3PD(IAddVariable *tree)
Configure the parent tree.
Definition: AddVariable.cxx:61
D3PD::AddVariable::m_suffix
const std::string & m_suffix
Reference to the variable suffix.
Definition: AddVariable.h:137
D3PD::TileCellFillerTool::m_celldR
float * m_celldR
Definition: TileCellFillerTool.h:111
D3PD::TileCellFillerTool::m_cellR
float * m_cellR
Definition: TileCellFillerTool.h:107
TileCell::ene1
float ene1(void) const
get energy of first PMT
Definition: TileCell.h:193
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
D3PD::TileCellFillerTool::m_muonZ
std::vector< float > * m_muonZ
Definition: TileCellFillerTool.h:133
D3PD::TileCellFillerTool::m_sample
short * m_sample
Definition: TileCellFillerTool.h:162
TileCell::badch1
bool badch1(void) const
check if first PMT is in bad channel list and masked
Definition: TileCell.h:215
tree
TChain * tree
Definition: tile_monitor.h:30
D3PD::TileCellFillerTool::m_muN
unsigned short * m_muN
Definition: TileCellFillerTool.h:117
Tile_Base_ID::side
int side(const Identifier &id) const
Definition: Tile_Base_ID.cxx:153
CaloDetDescrElement::dr
float dr() const
cell dr
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:360
D3PD::AddVariable::m_prefix
const std::string & m_prefix
Reference to the variable prefix.
Definition: AddVariable.h:134
Tile_Base_ID::sample
int sample(const Identifier &id) const
Definition: Tile_Base_ID.cxx:171
D3PD::TileCellFillerTool::m_badCell
bool * m_badCell
Definition: TileCellFillerTool.h:143
D3PD::TileCellFillerTool::m_dx
std::vector< float > * m_dx
Definition: TileCellFillerTool.h:138
D3PD::TileCellFillerTool::m_pmt2Time
float * m_pmt2Time
Definition: TileCellFillerTool.h:79
D3PD::TileCellFillerTool::m_dEdx
std::vector< float > * m_dEdx
Definition: TileCellFillerTool.h:139
D3PD::TileCellFillerTool::m_mularcone40
std::vector< float > * m_mularcone40
Definition: TileCellFillerTool.h:127
D3PD::TileCellFillerTool::m_quality
uint16_t * m_quality
Definition: TileCellFillerTool.h:145
D3PD::TileCellFillerTool::m_to_muon_dz
std::vector< float > * m_to_muon_dz
Definition: TileCellFillerTool.h:120
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
D3PD::AddVariable::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
Add a variable to the tuple.
Definition: AddVariable.cxx:85
Tile_Base_ID::tower
int tower(const Identifier &id) const
Definition: Tile_Base_ID.cxx:165
D3PD::TileCellFillerTool::m_mutype
std::vector< short > * m_mutype
Definition: TileCellFillerTool.h:124
D3PD::TileCellFillerTool::m_eta_index
short * m_eta_index
Definition: TileCellFillerTool.h:163
D3PD::TileCellFillerTool::m_pmt2Channel
short * m_pmt2Channel
Definition: TileCellFillerTool.h:94
D3PD::TileCellFillerTool::m_tileID
const TileID * m_tileID
Definition: TileCellFillerTool.h:156
D3PD::TileCellFillerTool::m_pmt1Time
float * m_pmt1Time
Definition: TileCellFillerTool.h:78
D3PD::TileCellFillerTool::m_pmt2Drawer
short * m_pmt2Drawer
Definition: TileCellFillerTool.h:92
D3PD::TileCellFillerTool::m_celldZ
float * m_celldZ
Definition: TileCellFillerTool.h:110
D3PD::AddVariable::m_tree
IAddVariable * m_tree
Reference to the block name.
Definition: AddVariable.h:143
xAOD::Muon_v1
Class describing a Muon.
Definition: Muon_v1.h:38
D3PD::TileCellFillerTool::m_tower
short * m_tower
Definition: TileCellFillerTool.h:161
D3PD::TypeConverter::init
StatusCode init(const std::type_info &src_ti, const std::type_info &dst_ti)
Initialize the converter.
Definition: TypeConverter.cxx:51
TileHWID::channel
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Definition: TileHWID.h:189
TileHWID::ros
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
Definition: TileHWID.h:167
CaloDetDescrElement::getSubCalo
CaloCell_ID::SUBCALO getSubCalo() const
cell subcalo
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:433
CaloDetDescrElement::dz
float dz() const
cell dz
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:379
D3PD::TileCellFillerTool::m_standalone
std::string m_standalone
Definition: TileCellFillerTool.h:63
D3PD::TileCellFillerTool::m_to_muon_dy
std::vector< float > * m_to_muon_dy
Definition: TileCellFillerTool.h:119
CaloDetDescrElement::onl1
IdentifierHash onl1() const
cell online identifier 1
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:404
D3PD::TypeConverter::srcName
std::string srcName() const
Return the name of the source type, or an empty string.
Definition: TypeConverter.cxx:141
D3PD::AddVariable::m_metadata
ObjectMetadata m_metadata
Metadata about the variables created by this object.
Definition: AddVariable.h:129
D3PD::TileCellFillerTool::m_trackInCalo
ToolHandle< ITrackTools > m_trackInCalo
Definition: TileCellFillerTool.h:151
D3PD::TileCellFillerTool::m_pmt2Quality
unsigned short * m_pmt2Quality
Definition: TileCellFillerTool.h:81
TileCell::qual2
uint8_t qual2(void) const
get quality of second PMT (data member)
Definition: TileCell.h:206
D3PD::TypeConverter::convertUntyped
const void * convertUntyped(const void *p) const
Convert pointer.
Definition: TypeConverter.cxx:116
D3PD::TileCellFillerTool::m_filterConfiguration
int m_filterConfiguration
Definition: TileCellFillerTool.h:73
D3PD::TileCellFillerTool::m_module
short * m_module
Definition: TileCellFillerTool.h:160
Tile_Base_ID::module
int module(const Identifier &id) const
Definition: Tile_Base_ID.cxx:159
D3PD::TileCellFillerTool::m_cellPhi
float * m_cellPhi
Definition: TileCellFillerTool.h:98
D3PD::TileCellFillerTool::m_celldPhi
float * m_celldPhi
Definition: TileCellFillerTool.h:113
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
D3PD::TileCellFillerTool::m_pmt2Gain
short * m_pmt2Gain
Definition: TileCellFillerTool.h:87
TileCell::badch2
bool badch2(void) const
check if second PMT is in bad channel list and masked
Definition: TileCell.h:218
D3PD::TileCellFillerTool::m_muNsiliconhits
std::vector< short > * m_muNsiliconhits
Definition: TileCellFillerTool.h:129
D3PD::TileCellFillerTool::m_muonContainerName
std::string m_muonContainerName
Definition: TileCellFillerTool.h:65
D3PD::TileCellFillerTool::m_subcalo
float * m_subcalo
Definition: TileCellFillerTool.h:148
test_pyathena.parent
parent
Definition: test_pyathena.py:15
D3PD::TileCellFillerTool::m_to_muon_dx
std::vector< float > * m_to_muon_dx
Definition: TileCellFillerTool.h:118
D3PD::TileCellFillerTool::m_pmt2Energy
float * m_pmt2Energy
Definition: TileCellFillerTool.h:77
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TileCell::qbit1
uint8_t qbit1(void) const
get quality bits of first PMT (data member)
Definition: TileCell.h:209
D3PD::TileCellFillerTool::m_muonAuthor
std::vector< short > * m_muonAuthor
Definition: TileCellFillerTool.h:125
D3PD::ObjectMetadata::clear
void clear()
Function clearing the object.
Definition: ObjectMetadata.cxx:352
D3PD::TileCellFillerTool::m_muonX
std::vector< float > * m_muonX
Definition: TileCellFillerTool.h:131
D3PD::TileCellFillerTool::m_pmt1Ros
short * m_pmt1Ros
Definition: TileCellFillerTool.h:89
python.Utils.unixtools.which
def which(filename, env=os.environ)
UNIX-style which ---------------------------------------------------------—.
Definition: unixtools.py:39
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TileCell::gain1
int gain1(void) const
get gain of first PMT
Definition: TileCell.cxx:182
D3PD::TileCellFillerTool::m_muonY
std::vector< float > * m_muonY
Definition: TileCellFillerTool.h:132
D3PD::TileCellFillerTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileCellFillerTool.h:157
KinematicUtils::deltaPhi
double deltaPhi(double phi1, double phi2)
Definition: D3PDMaker/TileD3PDMaker/src/ITrackTools.h:104
D3PD::BlockFillerToolImpl::m_converter
TypeConverter m_converter
Helper to do type conversions.
Definition: BlockFillerToolImpl.h:121
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
D3PD::TileCellFillerTool::m_samplingID
unsigned int * m_samplingID
Definition: TileCellFillerTool.h:147
D3PD::TileCellFillerTool::m_storeGate
StoreGateSvc * m_storeGate
Definition: TileCellFillerTool.h:153
D3PD::TileCellFillerTool::m_cellEnergy
float * m_cellEnergy
Definition: TileCellFillerTool.h:69
CaloDetDescrElement::volume
float volume() const
cell volume
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:381
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
D3PD::TileCellFillerTool::m_pmt1Quality
unsigned short * m_pmt1Quality
Definition: TileCellFillerTool.h:80
D3PD::TileCellFillerTool::m_cellZ
float * m_cellZ
Definition: TileCellFillerTool.h:106
D3PD::TileCellFillerTool::m_pmt1Channel
short * m_pmt1Channel
Definition: TileCellFillerTool.h:93
D3PD::TileCellFillerTool::m_pmt2Ros
short * m_pmt2Ros
Definition: TileCellFillerTool.h:90
D3PD::TileCellFillerTool::m_muonPhi
std::vector< float > * m_muonPhi
Definition: TileCellFillerTool.h:135
D3PD::ObjectMetadata::addVariable
virtual StatusCode addVariable(const std::string &name, const std::type_info &ti, void *&ptr, const std::string &docstring="", const void *defval=0)
This function can be used to save the metadata about a D3PD variable.
Definition: ObjectMetadata.cxx:109
D3PD::TileCellFillerTool::m_cellV
float * m_cellV
Definition: TileCellFillerTool.h:112
D3PD::TileCellFillerTool::m_mup
std::vector< float > * m_mup
Definition: TileCellFillerTool.h:128
D3PD::TileCellFillerTool::m_pmt1Energy
float * m_pmt1Energy
Definition: TileCellFillerTool.h:76
REPORT_MESSAGE
#define REPORT_MESSAGE(LVL)
Report a message.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:365
CaloDetDescrElement::x
float x() const
cell x
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:363
xAOD::Iso::ptcone40
@ ptcone40
Definition: IsolationType.h:42
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
TileHWID::adc_id
HWIdentifier adc_id(int ros, int drawer, int channel, int adc) const
adc HWIdentifer
Definition: TileHWID.cxx:228
D3PD::TileCellFillerTool::m_side
short * m_side
Definition: TileCellFillerTool.h:158
TileCell::qbit2
uint8_t qbit2(void) const
get quality bits of second PMT (data member)
Definition: TileCell.h:212
CaloDetDescrElement::dphi
float dphi() const
cell dphi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:358
TileCell::gain2
int gain2(void) const
get gain of second PMT
Definition: TileCell.cxx:189
TileCell::ene2
float ene2(void) const
get energy of second PMT
Definition: TileCell.h:195
D3PD::TileCellFillerTool::m_cellX
float * m_cellX
Definition: TileCellFillerTool.h:104
D3PD::TileCellFillerTool::m_to_muon_dEta
std::vector< float > * m_to_muon_dEta
Definition: TileCellFillerTool.h:121
TileHWID::drawer
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
Definition: TileHWID.h:171
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloDetDescrElement::dx
float dx() const
cell dx
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:375
CaloDetDescrElement::getSampling
CaloCell_ID::CaloSample getSampling() const
cell sampling
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:395
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
D3PD::TileCellFillerTool::m_cellEta
float * m_cellEta
Definition: TileCellFillerTool.h:97
D3PD::TileCellFillerTool::m_pmt1Bad
bool * m_pmt1Bad
Definition: TileCellFillerTool.h:84
D3PD::IAddVariable::addVariable
StatusCode addVariable(const std::string &name, T *&ptr, const std::string &docstring="")
Add a variable to the tuple.
D3PD::TileCellFillerTool::m_pmt1Drawer
short * m_pmt1Drawer
Definition: TileCellFillerTool.h:91
TileCell::qual1
uint8_t qual1(void) const
get quality of first PMT (data member)
Definition: TileCell.h:203
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
D3PD::TileCellFillerTool::m_celldY
float * m_celldY
Definition: TileCellFillerTool.h:109
D3PD::IAddVariable::addDimensionedVariable
StatusCode addDimensionedVariable(const std::string &name, T *&ptr, const std::string &dim, const std::string &docstring="")
Add a variable to the tuple.
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
CaloDetDescrElement::dy
float dy() const
cell dy
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:377
D3PD::TileCellFillerTool::m_cellEt
float * m_cellEt
Definition: TileCellFillerTool.h:70
D3PD::TileCellFillerTool::m_celldEta
float * m_celldEta
Definition: TileCellFillerTool.h:114
D3PD::TileCellFillerTool::m_pmt1Qbit
unsigned short * m_pmt1Qbit
Definition: TileCellFillerTool.h:82
D3PD::TileCellFillerTool::m_section
short * m_section
Definition: TileCellFillerTool.h:159
D3PD::TileCellFillerTool::m_to_muon_dPhi
std::vector< float > * m_to_muon_dPhi
Definition: TileCellFillerTool.h:122
D3PD::TileCellFillerTool::m_pmt1Gain
short * m_pmt1Gain
Definition: TileCellFillerTool.h:86
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.