ATLAS Offline Software
BSFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef OVERLAYBYTESTREAMUTILS_BSFILTER_H
6 #define OVERLAYBYTESTREAMUTILS_BSFILTER_H
7 
8 #include <string>
9 #include <map>
10 
11 #include "GaudiKernel/EventIDBase.h"
12 
16 
17 class BSFilter : public AthAlgorithm
18 {
19  public:
20 
21  BSFilter( const std::string& name, ISvcLocator* pSvcLocator );
22  virtual StatusCode initialize() override;
23  virtual StatusCode execute() override;
24  virtual StatusCode finalize() override;
25 
26  private:
27  void writeEventIdFile(const EventIDBase& evt) const;
28 
29  Gaudi::Property<std::string> m_l1ZB{
30  this, "L1Trigger", "L1_ZB", "Name of the L1 zero-bias trigger"};
31  Gaudi::Property<std::string> m_noalg{
32  this, "noalgTrigger", "HLT_noalg_zb_L1ZB", "Name of the 'noalg' zero-bias trigger"};
33  Gaudi::Property<std::string> m_j40{
34  this, "j40Trigger", "HLT_j40_L1ZB", "Name of the 'j40' zero-bias trigger"};
35  Gaudi::Property<std::string> m_filterfile{
36  this, "filterfile", {}, "Output file with event IDs"};
37  Gaudi::Property<std::string> m_EventIdFile{
38  this, "EventIdFile", {}, "Output file with event IDs for EvtIdModifierSvc"};
39 
41  this, "TrigConfigSvc", "TrigConf::xAODConfigSvc/xAODConfigSvc"};
42  PublicToolHandle<Trig::TrigDecisionTool> m_trigDecTool{
43  this, "TrigDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool"};
44 
45  int m_All{0};
46  int m_pass{0};
47 
48  struct filterinfo{
49  int trig{0};
50  int nvtx{0};
51  int magic{99999};
52  double dt{0.0};
53  };
54  std::map<int, std::map<uint64_t, filterinfo>> m_filtermap;
55 
56  FILE* m_efile{nullptr};
57  FILE* m_ffile{nullptr};
58 };
59 #endif // OVERLAYBYTESTREAMUTILS_BSFILTER_H
BSFilter::filterinfo::nvtx
int nvtx
Definition: BSFilter.h:50
BSFilter::m_pass
int m_pass
Definition: BSFilter.h:46
BSFilter::filterinfo
Definition: BSFilter.h:48
BSFilter::m_j40
Gaudi::Property< std::string > m_j40
Definition: BSFilter.h:33
BSFilter::m_trigConf
ServiceHandle< TrigConf::ITrigConfigSvc > m_trigConf
Definition: BSFilter.h:40
ITrigConfigSvc.h
BSFilter::m_ffile
FILE * m_ffile
Definition: BSFilter.h:57
BSFilter::execute
virtual StatusCode execute() override
Definition: BSFilter.cxx:90
BSFilter
Definition: BSFilter.h:18
BSFilter::m_filterfile
Gaudi::Property< std::string > m_filterfile
Definition: BSFilter.h:35
TrigDecisionTool.h
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
BSFilter::finalize
virtual StatusCode finalize() override
Definition: BSFilter.cxx:71
BSFilter::filterinfo::dt
double dt
Definition: BSFilter.h:52
AthAlgorithm.h
BSFilter::m_filtermap
std::map< int, std::map< uint64_t, filterinfo > > m_filtermap
Definition: BSFilter.h:54
BSFilter::filterinfo::magic
int magic
Definition: BSFilter.h:51
BSFilter::m_l1ZB
Gaudi::Property< std::string > m_l1ZB
Definition: BSFilter.h:29
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgorithm
Definition: AthAlgorithm.h:47
BSFilter::BSFilter
BSFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: BSFilter.cxx:11
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
BSFilter::m_efile
FILE * m_efile
Definition: BSFilter.h:56
BSFilter::m_trigDecTool
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
Definition: BSFilter.h:42
BSFilter::m_noalg
Gaudi::Property< std::string > m_noalg
Definition: BSFilter.h:31
BSFilter::writeEventIdFile
void writeEventIdFile(const EventIDBase &evt) const
Definition: BSFilter.cxx:80
BSFilter::filterinfo::trig
int trig
Definition: BSFilter.h:49
BSFilter::m_All
int m_All
Definition: BSFilter.h:45
BSFilter::initialize
virtual StatusCode initialize() override
Definition: BSFilter.cxx:16
BSFilter::m_EventIdFile
Gaudi::Property< std::string > m_EventIdFile
Definition: BSFilter.h:37
ServiceHandle< TrigConf::ITrigConfigSvc >