  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Conditions algorithm to unpack fill parameters from COOL.  
 More...
#include <BunchCrossingCondAlg.h>
 | 
| virtual StatusCode  | initialize () override | 
|   | Gaudi initialize method.  More...
  | 
|   | 
| virtual StatusCode  | execute (const EventContext &ctx) const override | 
|   | Algorithm execute method.  More...
  | 
|   | 
| virtual bool  | isReEntrant () const override final | 
|   | 
| virtual StatusCode  | sysInitialize () override | 
|   | Override sysInitialize.  More...
  | 
|   | 
| virtual bool  | isClonable () const override | 
|   | Specify if the algorithm is clonable.  More...
  | 
|   | 
| virtual unsigned int  | cardinality () const override | 
|   | Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.  More...
  | 
|   | 
| virtual StatusCode  | sysExecute (const EventContext &ctx) override | 
|   | Execute an algorithm.  More...
  | 
|   | 
| virtual const DataObjIDColl &  | extraOutputDeps () const override | 
|   | Return the list of extra output dependencies.  More...
  | 
|   | 
| virtual bool  | filterPassed (const EventContext &ctx) const | 
|   | 
| virtual void  | setFilterPassed (bool state, const EventContext &ctx) const | 
|   | 
| 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  | 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, V, H > &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 | 
|   | 
 | 
| std::vector< bunchTrain_t >  | findTrains (const std::bitset< BunchCrossingCondData::m_MAX_BCID > &pairsToConsume, const int maxSpacingInTrain, const unsigned minBunchesPerTrain) const | 
|   | internal methods:  More...
  | 
|   | 
| std::vector< float >  | tokenize (const std::string &pattern) const | 
|   | This helper function is used to convert a string of type "[0.0, 0.0, 1.0, 1.0, 1.0]" into a vector of floats.  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKey>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleKeyArray>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) | 
|   | specialization for handling Gaudi::Property<SG::VarHandleBase>  More...
  | 
|   | 
| Gaudi::Details::PropertyBase &  | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) | 
|   | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>  More...
  | 
|   | 
 | 
| SG::ReadCondHandleKey< AthenaAttributeList >  | m_fillParamsFolderKey { this, "FillParamsFolderKey", "/TDAQ/OLC/LHC/FILLPARAMS", "" } | 
|   | Input conditions object.  More...
  | 
|   | 
| SG::ReadCondHandleKey< LuminosityCondData >  | m_lumiCondDataKey {this, "LumiCondData", "LuminosityCondData", "Lumi cond data key"} | 
|   | 
| SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet >  | m_bunchGroupCondDataKey {this, "L1BunchGroupCondData", "L1BunchGroup", "Bunch group cond data key"} | 
|   | 
| SG::WriteCondHandleKey< BunchCrossingCondData >  | m_outputKey {this, "OutputKey", "BunchCrossingData", "Key of output CDO" } | 
|   | Output conditions object.  More...
  | 
|   | 
| const ServiceHandle< TrigConf::ILVL1ConfigSvc >  | m_trigConfigSvc {this, "TrigConfigSvc", "TrigConf::xAODConfigSvc/xAODConfigSvc", "Trig Config Svc"} | 
|   | 
| Gaudi::Property< unsigned >  | m_maxBunchSpacing {this, "MaxBunchSpacing",5, "Maximal bunch-spacing to be considered a 'bunch train'"} | 
|   | 
| Gaudi::Property< unsigned >  | m_minBunchesPerTrain {this, "MinBunchesPerTrain",32, "Minimal number of bunches to be considerd a 'bunch train'"} | 
|   | 
| Gaudi::Property< bool >  | m_isRun1 {this,"Run1",false,"Assume run-1 database"} | 
|   | 
| Gaudi::Property< int >  | m_mode {this, "Mode", 1, "Alg mode (COOL FILLPARAMS = 0, MC = 1, TrigConf = 2, Luminosity = 3)"} | 
|   | 
| DataObjIDColl  | m_extendedExtraObjects | 
|   | Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.  More...
  | 
|   | 
| StoreGateSvc_t  | m_evtStore | 
|   | Pointer to StoreGate (event store by default)  More...
  | 
|   | 
| StoreGateSvc_t  | m_detStore | 
|   | Pointer to StoreGate (detector store by default)  More...
  | 
|   | 
| std::vector< SG::VarHandleKeyArray * >  | m_vhka | 
|   | 
| bool  | m_varHandleArraysDeclared | 
|   | 
Conditions algorithm to unpack fill parameters from COOL. 
Definition at line 30 of file BunchCrossingCondAlg.h.
 
◆ bunchTrain_t
◆ StoreGateSvc_t
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. 
Override this to return 0 for reentrant algorithms. 
Override this to return 0 for reentrant algorithms. 
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
 
 
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> 
Definition at line 170 of file AthCommonDataStore.h.
  175                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey> 
Definition at line 156 of file AthCommonDataStore.h.
  161                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase> 
Definition at line 184 of file AthCommonDataStore.h.
  189                                                        hndl.documentation());
 
 
 
 
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property. 
- Parameters
 - 
  
    | 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.
  250     this->declare(hndl.
vhKey());
 
  251     hndl.
vhKey().setOwner(
this);
 
 
 
 
◆ declareProperty() [2/6]
Declare a new Gaudi property. 
- Parameters
 - 
  
    | 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.
 
 
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property. 
- Parameters
 - 
  
    | 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.
 
 
◆ declareProperty() [5/6]
Declare a new Gaudi property. 
- Parameters
 - 
  
    | 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.
 
 
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
  
  
      
        
          | StatusCode BunchCrossingCondAlg::execute  | 
          ( | 
          const EventContext &  | 
          ctx | ) | 
           const | 
         
       
   | 
  
overridevirtual   | 
  
 
Algorithm execute method. 
Definition at line 28 of file BunchCrossingCondAlg.cxx.
   31   if (writeHdl.isValid()) {
 
   33     return StatusCode::SUCCESS;
 
   41   auto bccd=std::make_unique<BunchCrossingCondData>();
 
   47       if (! bgsh.isValid()) {
 
   49         return StatusCode::FAILURE;
 
   56     if (bgs->size() >= 2) {
 
   57       ATH_MSG_DEBUG(
"from BunchGroupCondData: BG1 bunches " << bgs->getBunchGroup(1)->bunches() );
 
   58       for (
const auto& 
pos : bgs->getBunchGroup(1)->bunches() ) {
 
   59         bccd->m_beam1.set(
pos);
 
   60         bccd->m_beam2.set(
pos);
 
   61         bccd->m_luminous.set(
pos);
 
   69     if (bgs->size() >= 15) {
 
   70       for (
const auto& 
pos : bgs->getBunchGroup(13)->bunches() ) {
 
   71         bccd->m_beam1.set(
pos);
 
   73       for (
const auto& 
pos : bgs->getBunchGroup(14)->bunches() ) {
 
   74         bccd->m_beam2.set(
pos);
 
   80     const auto& thisevt = ctx.eventID();
 
   81     EventIDRange 
range = EventIDRange(EventIDBase(thisevt.run_number(), EventIDBase::UNDEFEVT, 
 
   82                                       EventIDBase::UNDEFNUM, 0, thisevt.lumi_block()),
 
   83                           EventIDBase(thisevt.run_number(), EventIDBase::UNDEFEVT,
 
   84                                       EventIDBase::UNDEFNUM, 0, thisevt.lumi_block()+1));
 
   85     writeHdl.addDependency(
range);
 
   90     writeHdl.addDependency(prefLumiHdl);
 
   93     float avMu = prefLumiHdl->lbAverageInteractionsPerCrossing();
 
   94     const auto& lumiVec = prefLumiHdl->lbLuminosityPerBCIDVector();
 
   95     float cutLumi = avMu/1000.f*prefLumiHdl->muToLumi();
 
   98       if (lumiVec[
bcid] > cutLumi) {
 
   99         bccd->m_beam1.set(
bcid);
 
  100         bccd->m_beam2.set(
bcid);
 
  101         bccd->m_luminous.set(
bcid);
 
  111     writeHdl.addDependency(fillParamsHdl);
 
  118       ATH_MSG_INFO(
"Got AttributeList with size " << attrList->size());
 
  119       std::string sbunches;
 
  121         const coral::Attribute& attr=(*attrList)[std::string(
"BeamIntensityPattern")];
 
  123           ATH_MSG_ERROR(
"Got NULL attribute for BeamIntensityPattern");
 
  124           return StatusCode::FAILURE;
 
  126         sbunches = attr.data< std::string >();
 
  127       } 
catch (coral::AttributeListException& 
e) {
 
  130         return StatusCode::FAILURE;
 
  133       const float minBunchIntensity=0.001;
 
  134       std::vector<float> bunches=
tokenize(sbunches);
 
  135       if (!bunches.empty()) {
 
  144             const int pos1 = 
i % bunches.size();
 
  145             const int pos2 = bunches.size() - 1 - ( 
i % bunches.size() );
 
  146             if( bunches[ pos1 ] > minBunchIntensity) {
 
  147               bccd->m_beam1.set(
i);
 
  148               bccd->m_beam2.set(
i);
 
  149               bccd->m_luminous.set(
i);
 
  151             if( bunches[ pos2 ] > minBunchIntensity) {
 
  163             const int pos = 
i % bunches.size();
 
  164             if( bunches[ 
pos ] > minBunchIntensity) {
 
  165               bccd->m_beam1.set(
i);
 
  166               bccd->m_beam2.set(
i);
 
  167               bccd->m_luminous.set(
i);
 
  175         ATH_MSG_INFO(
"Bunch structure information not found in metadata");
 
  176         ATH_MSG_INFO(
"Will consider all BCIDs as single filled bunches (no trains)");
 
  179         bccd->m_luminous.set();
 
  183       if ((*attrList)[
"BCIDmasks"].isNull()) {
 
  185         return StatusCode::FAILURE;
 
  190       cool::UInt32 nb1 = (*attrList)[
"Beam1Bunches"].data<cool::UInt32>();
 
  191       cool::UInt32 nb2 = (*attrList)[
"Beam2Bunches"].data<cool::UInt32>();
 
  192       cool::UInt32 ncol = (*attrList)[
"LuminousBunches"].data<cool::UInt32>();
 
  203         if ( 
static_cast<cool::UInt32
>( 
blob.size() ) != 2 * (nb1 + nb2 + ncol)) {
 
  205           return StatusCode::SUCCESS;
 
  211           bccd->m_beam1.set(
bcid);
 
  217           bccd->m_beam2.set(
bcid);
 
  223           bccd->m_luminous.set(
bcid);
 
  232           return StatusCode::FAILURE;
 
  236           if (blobAddr[
bcid] & 0
x1) {
 
  237             bccd->m_beam1.set(
bcid);
 
  239           if (blobAddr[
bcid] & 0
x2) {
 
  240             bccd->m_beam2.set(
bcid);
 
  242           if ((blobAddr[
bcid] & 0x3) == 0x3) {
 
  243             bccd->m_luminous.set(
bcid);
 
  248         if (bccd->m_beam1.count()!= nb1) {
 
  249           ATH_MSG_WARNING(
"Found " << bccd->m_beam1.count() << 
" bunches in beam1, expected " << nb1);
 
  252         if (bccd->m_beam2.count()!= nb2) {
 
  253           ATH_MSG_WARNING(
"Found " << bccd->m_beam2.count() << 
" bunches in beam2, expected " << nb2);
 
  256         if (bccd->m_luminous.count()!= ncol) {
 
  257           ATH_MSG_WARNING(
"Found " << bccd->m_luminous.count() << 
" colliding bunches, expected " << ncol);
 
  265   ATH_CHECK( writeHdl.record (std::move (bccd)) );
 
  266   return StatusCode::SUCCESS;
 
 
 
 
◆ extraDeps_update_handler()
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 
 
 
◆ extraOutputDeps()
Return the list of extra output dependencies. 
This list is extended to include symlinks implied by inheritance relations. 
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
 
 
◆ filterPassed()
◆ findTrains()
internal methods: 
Definition at line 270 of file BunchCrossingCondAlg.cxx.
  273   std::vector<bunchTrain_t> 
result;
 
  275   std::vector<std::pair<int,int> > 
holes;
 
  279   while (
stop<MAX_BCID) { 
 
  289   ATH_MSG_DEBUG(
"Found " << 
holes.size() << 
" gaps larger than " << maxSpacingInTrain << 
" in the bunch structure");
 
  298     ATH_MSG_ERROR(
"Looks like we have bunch train spanning the entire ring w/o any gap. Really?");
 
  303   if (
holes.size()>1) { 
 
  305     for (
unsigned i=0;
i<
holes.size()-1;++
i) {
 
  317   if (
holes.size()==1 || (
holes.front().first!=0 && 
holes.back().second!=MAX_BCID-1))  {
 
  340     result.push_back(lasttrain);
 
  344   ATH_MSG_DEBUG(
"Found " << 
result.size() << 
" Bunch trains separated by gaps of at least " << maxSpacingInTrain << 
" bcids ");
 
  347   std::vector<bunchTrain_t> result1;
 
  348   result1.reserve(
result.size());
 
  350     if (train.m_nColl >= minBunchesPerTrain) {
 
  351       result1.emplace_back(train);
 
  355   ATH_MSG_INFO(
"Found " << result1.size() << 
" Bunch trains having at least " << minBunchesPerTrain << 
" colliding bunches and separated by at least " << maxSpacingInTrain << 
" bcids");
 
  359     for (
auto& 
r : result1) {
 
  360       msg(
MSG::VERBOSE) << 
"Train " << 
r.m_first << 
" - " << 
r.m_last << 
", " << 
r.m_nColl << 
" colliding bcids" << 
endmsg;
 
 
 
 
◆ initialize()
  
  
      
        
          | StatusCode BunchCrossingCondAlg::initialize  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
overridevirtual   | 
  
 
 
◆ inputHandles()
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. 
 
 
◆ isClonable()
◆ isReEntrant()
  
  
      
        
          | virtual bool BunchCrossingCondAlg::isReEntrant  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inlinefinaloverridevirtual   | 
  
 
 
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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. 
 
 
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm. 
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs. 
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
 
 
◆ sysInitialize()
Override sysInitialize. 
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc 
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
  110   if (
sc.isFailure()) {
 
  118       if ( cs.retrieve().isFailure() ) {
 
  120         return StatusCode::SUCCESS;
 
  122       if (cs->regHandle(
this,*
h).isFailure()) {
 
  123         sc = StatusCode::FAILURE;
 
  124         ATH_MSG_ERROR(
"unable to register WriteCondHandle " << 
h->fullKey()
 
 
 
 
◆ sysStart()
Handle START transition. 
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container. 
 
 
◆ tokenize()
  
  
      
        
          | std::vector< float > BunchCrossingCondAlg::tokenize  | 
          ( | 
          const std::string &  | 
          pattern | ) | 
           const | 
         
       
   | 
  
private   | 
  
 
This helper function is used to convert a string of type "[0.0, 0.0, 1.0, 1.0, 1.0]" into a vector of floats. 
As it happens, the digitization stores the bunch pattern in such a fancy style...
- Parameters
 - 
  
    | pattern | The pattern extracted from the MC file metadata  | 
  
   
- Returns
 - The "decoded" bunch pattern 
 
Definition at line 376 of file BunchCrossingCondAlg.cxx.
  379   std::vector< float > 
result;
 
  381   const char* cEnd= 
c + 
pattern.size();
 
 
 
 
◆ updateVHKA()
◆ m_bunchGroupCondDataKey
◆ m_detStore
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. 
Empty if no symlinks were found. 
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
 
 
◆ m_fillParamsFolderKey
◆ m_isRun1
  
  
      
        
          | Gaudi::Property<bool> BunchCrossingCondAlg::m_isRun1 {this,"Run1",false,"Assume run-1 database"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_lumiCondDataKey
◆ m_maxBunchSpacing
  
  
      
        
          | Gaudi::Property<unsigned> BunchCrossingCondAlg::m_maxBunchSpacing {this, "MaxBunchSpacing",5, "Maximal bunch-spacing to be considered a 'bunch train'"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_minBunchesPerTrain
  
  
      
        
          | Gaudi::Property<unsigned> BunchCrossingCondAlg::m_minBunchesPerTrain {this, "MinBunchesPerTrain",32, "Minimal number of bunches to be considerd a 'bunch train'"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_mode
  
  
      
        
          | Gaudi::Property<int> BunchCrossingCondAlg::m_mode {this, "Mode", 1, "Alg mode (COOL FILLPARAMS = 0, MC = 1, TrigConf = 2, Luminosity = 3)"} | 
         
       
   | 
  
private   | 
  
 
 
◆ m_outputKey
◆ m_trigConfigSvc
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
 
std::vector< float > tokenize(const std::string &pattern) const
This helper function is used to convert a string of type "[0.0, 0.0, 1.0, 1.0, 1.0]" into a vector of...
 
const ServiceHandle< TrigConf::ILVL1ConfigSvc > m_trigConfigSvc
 
Gaudi::Property< unsigned > m_minBunchesPerTrain
 
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)
 
static EventIDRange infiniteMixed()
Produces an mixed EventIDRange that is infinite in Time and RunLumi.
 
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool msgLvl(const MSG::Level lvl) const
 
static constexpr unsigned int TOTAL_LHC_BCIDS
 
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bunchGroupCondDataKey
 
#define ATH_MSG_VERBOSE(x)
 
const std::string & key() const
Return the StoreGate ID for the referenced object.
 
bool empty() const
Test if the key is blank.
 
virtual void setOwner(IDataHandleHolder *o)=0
 
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
 
Gaudi::Property< bool > m_isRun1
 
static constexpr int m_MAX_BCID
 
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
 
std::vector< bunchTrain_t > findTrains(const std::bitset< BunchCrossingCondData::m_MAX_BCID > &pairsToConsume, const int maxSpacingInTrain, const unsigned minBunchesPerTrain) const
internal methods:
 
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
 
SG::WriteCondHandleKey< BunchCrossingCondData > m_outputKey
Output conditions object.
 
::StatusCode StatusCode
StatusCode definition for legacy code.
 
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
 
BunchCrossingCondData::bunchTrain_t bunchTrain_t
 
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
 
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
 
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
 
virtual void renounce()=0
 
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
 
SG::ReadCondHandleKey< AthenaAttributeList > m_fillParamsFolderKey
Input conditions object.
 
StatusCode initialize(bool used=true)
 
setEventNumber setTimeStamp bcid
 
SG::ReadCondHandleKey< LuminosityCondData > m_lumiCondDataKey
 
#define ATH_MSG_WARNING(x)
 
bool strtof(const std::string &input, T &f)
 
Gaudi::Property< unsigned > m_maxBunchSpacing
 
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
 
virtual StatusCode sysInitialize() override
Override sysInitialize.
 
Gaudi::Property< int > m_mode
 
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.