ATLAS Offline Software
|
#include <TileLaserTimingTool.h>
Classes | |
struct | DigitizerData |
struct | DrawerData |
struct | PMTData |
Public Member Functions | |
TileLaserTimingTool (const std::string &type, const std::string &name, const IInterface *pParent) | |
virtual | ~TileLaserTimingTool () |
virtual StatusCode | initialize () override |
virtual StatusCode | initNtuple (int runNumber, int runType, TFile *rootfile) override |
virtual StatusCode | execute () override |
TODO: determine event type, select laser? More... | |
virtual StatusCode | finalizeCalculations () override |
virtual StatusCode | writeNtuple (int runNumber, int runType, TFile *rootfile) override |
virtual StatusCode | finalize () override |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysInitialize () override |
Perform system initialization for an algorithm. More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Protected Member Functions | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
Private Types | |
typedef float(* | TPMTArray)[NDRAWERS][NCHANNELS] |
typedef float(* | TDrawerArrayF)[NDRAWERS] |
typedef int(* | TDrawerArrayI)[NDRAWERS] |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
DrawerData * | drawerData (int ros, int drawer) |
bool | isConnectedChan (int ros, int chan) |
int | channel2PMT (int ros, int chan) |
double | fiberCorrection (int ros, int pmt) |
HWIdentifier | drawerId (int frag) |
std::string | drawerIdStr (int frag) |
HWIdentifier | drawerId (int ros, int drawer) |
void | fitGauss (TH1F &hi, float &p1, float &p2, float &p1_err) |
Fit a Gaussian function (m_gaussf) to the given histogram, store mean, rms and mean error. More... | |
void | fitGauss2 (TH1F &hi, float &p1, float &p2, float &chi2, float &p1_err, float w1, float w2) |
Fit a Gaussian function with two iterations mean range = hi.mean +- w1|w2 * hi.rms. More... | |
void | correctEvenOddPMT (int ros, int drawer, TPMTArray &ChannelOffset, TDrawerArrayF &MeanOddPmtTdiff, TDrawerArrayI &OddPmtCounter, TDrawerArrayF &MeanEvenPmtTdiff, TDrawerArrayI &EvenPmtCounter, TDrawerArrayF &EvenOddTimeDiff) |
Correct for differences between even and odd PMTs. More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Static Private Member Functions | |
static bool | isConnectedPMT (int ros, int chan) |
static bool | isBarrel (int ros) |
static bool | isExtBarrel (int ros) |
static float | fiberLength (int ros, int pmt) |
Static Private Attributes | |
static const int | NROS = 5 |
static const float | s_fiberLength [2][48] |
Definition at line 79 of file TileLaserTimingTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
Definition at line 355 of file TileLaserTimingTool.h.
|
private |
Definition at line 356 of file TileLaserTimingTool.h.
Definition at line 354 of file TileLaserTimingTool.h.
TileLaserTimingTool::TileLaserTimingTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | pParent | ||
) |
Definition at line 122 of file TileLaserTimingTool.cxx.
|
virtual |
Definition at line 208 of file TileLaserTimingTool.cxx.
|
inlineprivate |
Definition at line 311 of file TileLaserTimingTool.h.
|
private |
Correct for differences between even and odd PMTs.
Definition at line 952 of file TileLaserTimingTool.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineprivate |
|
inlineprivate |
Definition at line 331 of file TileLaserTimingTool.h.
|
inlineprivate |
Definition at line 339 of file TileLaserTimingTool.h.
|
inlineprivate |
Definition at line 335 of file TileLaserTimingTool.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
overridevirtual |
TODO: determine event type, select laser?
Implements ITileCalibTool.
Definition at line 307 of file TileLaserTimingTool.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
inlineprivate |
Definition at line 323 of file TileLaserTimingTool.h.
|
inlinestaticprivate |
Definition at line 327 of file TileLaserTimingTool.h.
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 873 of file TileLaserTimingTool.cxx.
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 553 of file TileLaserTimingTool.cxx.
|
private |
Fit a Gaussian function (m_gaussf) to the given histogram, store mean, rms and mean error.
Definition at line 896 of file TileLaserTimingTool.cxx.
|
private |
Fit a Gaussian function with two iterations mean range = hi.mean +- w1|w2 * hi.rms.
Definition at line 917 of file TileLaserTimingTool.cxx.
|
overridevirtual |
Use timing tool to get cell fiber lengths, when implemented! float athfl, offlfl; const int drawerIdx = TileCalibUtils::getDrawerIdx(1, 0); for (int pmt = 0; pmt < 48; pmt++) { athfl = m_tileToolTiming->getCellFiberLength(drawerIdx, pmt); offlfl = fiberLength(1, pmt); ATH_MSG_INFO( " " << pmt << " : " << athfl << " , " << offlfl ); }
Implements ITileCalibTool.
Definition at line 256 of file TileLaserTimingTool.cxx.
|
overridevirtual |
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlinestaticinherited |
Definition at line 21 of file ITileCalibTool.h.
|
inlinestaticprivate |
Definition at line 315 of file TileLaserTimingTool.h.
|
inlineprivate |
Definition at line 303 of file TileLaserTimingTool.h.
|
staticprivate |
|
inlinestaticprivate |
Definition at line 319 of file TileLaserTimingTool.h.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
overridevirtual |
Implements ITileCalibTool.
Definition at line 773 of file TileLaserTimingTool.cxx.
Definition at line 188 of file TileLaserTimingTool.h.
|
private |
Definition at line 258 of file TileLaserTimingTool.h.
Definition at line 185 of file TileLaserTimingTool.h.
Definition at line 186 of file TileLaserTimingTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
Definition at line 236 of file TileLaserTimingTool.h.
|
private |
Definition at line 253 of file TileLaserTimingTool.h.
|
private |
Definition at line 264 of file TileLaserTimingTool.h.
|
private |
Definition at line 174 of file TileLaserTimingTool.h.
|
private |
Definition at line 181 of file TileLaserTimingTool.h.
|
private |
Definition at line 182 of file TileLaserTimingTool.h.
Definition at line 235 of file TileLaserTimingTool.h.
|
private |
Definition at line 269 of file TileLaserTimingTool.h.
|
private |
Definition at line 232 of file TileLaserTimingTool.h.
|
private |
Definition at line 203 of file TileLaserTimingTool.h.
|
private |
Definition at line 230 of file TileLaserTimingTool.h.
|
private |
Definition at line 202 of file TileLaserTimingTool.h.
|
private |
Definition at line 249 of file TileLaserTimingTool.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
Definition at line 224 of file TileLaserTimingTool.h.
Definition at line 220 of file TileLaserTimingTool.h.
|
private |
Definition at line 266 of file TileLaserTimingTool.h.
|
private |
Definition at line 286 of file TileLaserTimingTool.h.
|
private |
Definition at line 279 of file TileLaserTimingTool.h.
Definition at line 225 of file TileLaserTimingTool.h.
|
private |
Definition at line 274 of file TileLaserTimingTool.h.
|
private |
Definition at line 229 of file TileLaserTimingTool.h.
|
private |
Definition at line 201 of file TileLaserTimingTool.h.
|
private |
Definition at line 227 of file TileLaserTimingTool.h.
|
private |
Definition at line 199 of file TileLaserTimingTool.h.
|
private |
number of laser events
Definition at line 284 of file TileLaserTimingTool.h.
|
private |
Definition at line 267 of file TileLaserTimingTool.h.
|
private |
Definition at line 265 of file TileLaserTimingTool.h.
|
private |
Definition at line 228 of file TileLaserTimingTool.h.
|
private |
Definition at line 200 of file TileLaserTimingTool.h.
Definition at line 190 of file TileLaserTimingTool.h.
Definition at line 191 of file TileLaserTimingTool.h.
|
private |
Definition at line 251 of file TileLaserTimingTool.h.
|
private |
Definition at line 263 of file TileLaserTimingTool.h.
|
private |
Definition at line 271 of file TileLaserTimingTool.h.
Definition at line 257 of file TileLaserTimingTool.h.
|
private |
Definition at line 259 of file TileLaserTimingTool.h.
Definition at line 194 of file TileLaserTimingTool.h.
Definition at line 195 of file TileLaserTimingTool.h.
Definition at line 223 of file TileLaserTimingTool.h.
Definition at line 196 of file TileLaserTimingTool.h.
|
private |
Definition at line 272 of file TileLaserTimingTool.h.
|
private |
Definition at line 276 of file TileLaserTimingTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
staticprivate |
Definition at line 176 of file TileLaserTimingTool.h.
|
staticprivate |
Definition at line 300 of file TileLaserTimingTool.h.