|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef TRT_CALIBTOOLS__TRTCALIBRATOR_H 
    6 #define TRT_CALIBTOOLS__TRTCALIBRATOR_H 
   26 #include "GaudiKernel/ToolHandle.h" 
   27 #include "GaudiKernel/ServiceHandle.h" 
   28 #include "Gaudi/Property.h" 
   39   class TRT_DetectorManager;
 
   86   std::string 
SubLev(std::string, 
int);  
 
   91   bool IsSubLev(
const std::string&, 
int, 
const std::string&);  
 
  101   int GetSubLevels(
const std::string&, 
int, std::set<int>*);  
 
  106   void MakeBDKeys(
int, 
int, 
int, 
int, 
int, 
int);
 
  115     ToolHandle<ITRT_CalDbTool> 
m_trtcaldbTool {
this, 
"TRTCalDbTool", 
"ITRT_CalDbTool", 
""};
 
  116     ToolHandle<ITRT_StrawStatusSummaryTool> 
m_TRTStrawSummaryTool {
this, 
"TRTStrawSummaryTool", 
"ITRT_StrawStatusSummaryTool", 
""};
 
  124     Gaudi::Property<float> 
m_t0offset                {
this, 
"T0Offset" , -0.3 , 
""};
 
  127     Gaudi::Property<int> 
m_minrt   {
this, 
"MinRt"   , 10000 , 
"minimum number of hits required to do R-t calibration"    };
 
  128     Gaudi::Property<int> 
m_mint0   {
this, 
"MinT0"   , 200   , 
"minimum number of hits required to do T0 calibration"     };
 
  129     Gaudi::Property<int> 
m_nevents {
this, 
"Nevents" , -1    , 
"The number of hits or histograms read from the input file"};
 
  132     Gaudi::Property<bool> 
m_useP0        {
this, 
"UseP0"        , true  , 
""};
 
  133     Gaudi::Property<bool> 
m_floatP3      {
this, 
"FloatP3"      , true  , 
""};
 
  137     Gaudi::Property<std::string> 
m_selstring   {
this, 
"Selstring" , 
"_*_-_-_-_-_-_-" , 
""};
 
  138     Gaudi::Property<std::string> 
m_calsub      {
this, 
"SubPart"   , 
"user" , 
""};
 
  139     Gaudi::Property<std::string> 
m_options     {
this, 
"Options"   , 
"" , 
""};
 
  140     Gaudi::Property<std::string> 
m_hittuple    {
this, 
"Hittuple"  , 
"merged.root" , 
""};
 
  141     Gaudi::Property<std::string> 
m_rtrel       {
this, 
"RtRel"     , 
"basic" , 
"the rt relation to use"};
 
  142     Gaudi::Property<std::string> 
m_rtbinning   {
this, 
"RtBinning" , 
"t" , 
""};
 
  143     Gaudi::Property<std::string> 
m_ntrtmanager {
this, 
"TrtManagerLocation" , 
"TRT" , 
""};
 
  145     Gaudi::Property< std::vector<std::string> > 
m_doRt    {
this, 
"CalibrateRt"  , {} , 
""};
 
  146     Gaudi::Property< std::vector<std::string> > 
m_doT0    {
this, 
"CalibrateT0"  , {} , 
""};
 
  147     Gaudi::Property< std::vector<std::string> > 
m_doRes   {
this, 
"FitResidual"  , {} , 
""};
 
  148     Gaudi::Property< std::vector<std::string> > 
m_beQuiet {
this, 
"NoHistograms" , {} , 
""};
 
  149     Gaudi::Property< std::vector<std::string> > 
m_useBoardRef {
this, 
"UseBoardRef" , {} , 
""};
 
  150     Gaudi::Property< std::vector<std::string> > 
m_doLogPrint  {
this, 
"PrintLog"    , {} , 
""};
 
  151     Gaudi::Property< std::vector<std::string> > 
m_doOutPrint  {
this, 
"PrintT0Out"  , {} , 
""};
 
  152     Gaudi::Property< std::vector<std::string> > 
m_doRtPrint   {
this, 
"PrintRtOut"  , {} , 
""};
 
  163    class BDzero{
public: 
int z;};  
class BDstraw{
public: std::map<std::string,BDzero> 
s;};   
class BDchip{
public: std::map<std::string,BDstraw> 
c;};  
class BDboard{
public: std::map<std::string,BDchip> 
b;}; 
class BDmodule{
public: std::map<std::string,BDboard> 
m;}; 
class BDlayer{
public: std::map<std::string,BDmodule> 
l;}; 
class BDdetector{
public: std::map<std::string,BDlayer> 
d;}; 
class BDTRT{
public: std::map<std::string,BDdetector> 
t;}; BDTRT 
m_trt;
 
  194 #endif //  TRT_CALIBTOOLS__TRTCALIBRATOR_H 
  
Gaudi::Property< int > m_minrt
Gaudi::Property< std::vector< std::string > > m_doT0
Gaudi::Property< float > m_t0offset
std::map< std::string, BDboard > m
Gaudi::Property< bool > m_useP0
Gaudi::Property< bool > m_SplitBarrel
virtual StatusCode finalize() override
Gaudi::Property< int > m_minTimebinsOverThreshold
Gaudi::Property< std::string > m_hittuple
Gaudi::Property< std::vector< std::string > > m_doLogPrint
std::map< std::string, std::set< int > > selections
std::map< std::string, BDdetector > t
std::map< std::string, BDzero > s
Gaudi::Property< bool > m_floatP3
Gaudi::Property< bool > m_DoArXenonSep
std::map< std::string, BDlayer > d
BDTRT m_trt_acc
instance if the dictionary class for the full TRT
const AtlasDetectorID * m_DetID
virtual bool calibrate ATLAS_NOT_THREAD_SAFE() override
Method for doing the actual calibration.
std::map< std::string, conf > m_config
std::map< std::string, BDstraw > c
Gaudi::Property< std::vector< std::string > > m_doRes
Gaudi::Property< std::vector< std::string > > m_doOutPrint
Gaudi::Property< std::string > m_ntrtmanager
Gaudi::Property< std::string > m_options
std::string m_comTimeName
Gaudi::Property< std::vector< std::string > > m_useBoardRef
std::map< std::string, BDmodule > l
void MakeBDKeys(int, int, int, int, int, int)
makes the key strings for a sub-module
::StatusCode StatusCode
StatusCode definition for legacy code.
ToolHandle< ITRT_StrawStatusSummaryTool > m_TRTStrawSummaryTool
Gaudi::Property< std::vector< std::string > > m_doRt
Gaudi::Property< bool > m_DoShortStrawCorrection
std::vector< std::string > PrintLog
std::string SubLev(std::string, int)
return sub-level i from a selection string with the form _X_X_X_X_X_X_X
Gaudi::Property< std::string > m_rtrel
Gaudi::Property< int > m_mint0
bool IncludedLevels(std::string, int *)
unsigned int m_numOfProcessedTracks
Gaudi::Property< std::string > m_calsub
std::vector< std::string > FitResidual
Gaudi::Property< int > m_nevents
Gaudi::Property< std::string > m_selstring
std::vector< std::string > CalibrateRt
std::vector< std::string > PrintRtOut
Gaudi::Property< float > m_maxTimeResidual
const InDetDD::TRT_DetectorManager * m_trtmanager
Abstract interface to information on straws electronic grouping.
Gaudi::Property< float > m_maxDistance
ServiceHandle< ITRT_StrawNeighbourSvc > m_neighbourSvc
unsigned int m_numOfHitsAccepted
Gaudi::Property< float > m_maxTrackChisquarePerDof
The Detector Manager for all TRT Detector elements, it acts as the interface to the detector elements...
BDTRT m_trt
instance if the dictionary class for the full TRT
Gaudi::Property< std::string > m_rtbinning
virtual ~TRTCalibrator()
Destructor.
unsigned int m_numOfHitsTotal
std::vector< std::string > CalibrateT0
std::vector< std::string > PrintT0Out
std::map< std::string, BDchip > b
virtual StatusCode initialize() override
Pre-define standard calibration configuration.
void DumpStrawData(int)
returns true if the ...
Gaudi::Property< std::vector< std::string > > m_beQuiet
TRTCalibrator(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
virtual bool fill(const Trk::Track *aTrack, TRT::TrackInfo *output) override
int GetSubLevels(const std::string &, int, std::set< int > *)
fills a set of integers with the indexes af the sub-modules that are conatined in a selection
ToolHandle< ITRT_CalDbTool > m_trtcaldbTool
Gaudi::Property< std::vector< std::string > > m_doRtPrint
std::vector< std::string > NoHistograms
bool IsSubLev(const std::string &, int, const std::string &)
returns true if the ...
The TRTCalibrator is called from TRTCalibrationMgr.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...