ATLAS Offline Software
OnlineEventDisplaysSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ONLINEEVENTDISPLAYSSVC_H
6 #define ONLINEEVENTDISPLAYSSVC_H
7 
10 #include "GaudiKernel/IIncidentListener.h"
11 #include "StoreGate/ReadHandle.h"
13 
14 
15 
16 class OnlineEventDisplaysSvc : public extends<AthService,
17  IOnlineEventDisplaysSvc,
18  IIncidentListener> {
19 public:
20 
21  OnlineEventDisplaysSvc( const std::string& name, ISvcLocator* pSvcLocator );
22 
23  StatusCode initialize() override;
24  StatusCode finalize() override;
25  void beginEvent();
26  void endEvent();
27  void handle(const Incident& incident ) override;
28  void createWriteableDir(const std::string& directory, gid_t zpgid);
30  std::string getFileNamePrefix() override;
31  std::string getEntireOutputStr() override;
32  std::string getStreamName() override;
33 
34 private:
36  SG::ReadHandleKey<xAOD::EventInfo> m_evt{this, "EventInfo", "EventInfo", "Input event information"};
37  Gaudi::Property<std::string> m_outputDirectory {this, "OutputDirectory", "/atlas/EventDisplayEvents", "Output Directory"};
38  Gaudi::Property<std::vector<std::string>> m_streamsWanted {this, "StreamsWanted", {}, "Desired trigger streams"};
39  Gaudi::Property<std::vector<std::string>> m_publicStreams {this, "PublicStreams", {}, "Streams that can be seen by the public"};
40  Gaudi::Property<std::string> m_projectTag {this, "ProjectTag", "", "Is needed to add streams to the Public trigger streams"};
41  Gaudi::Property<bool> m_BeamSplash {this, "BeamSplash", false, "Is a beam splash event"};
42  Gaudi::Property<bool> m_CheckPair {this, "CheckPair", false, "Check for matching ESD and JiveXML files"};
43  Gaudi::Property<int> m_maxEvents {this, "MaxEvents", 200, "Number of events to keep per stream"};
44  std::string m_FileNamePrefix = "JiveXML";
45  std::string m_outputStreamDir = ".Unknown";
46  std::string m_entireOutputStr = ".";
47  int m_runNumber{};
48  long m_eventNumber{};
49 
50 };
51 
52 #endif
OnlineEventDisplaysSvc::m_CheckPair
Gaudi::Property< bool > m_CheckPair
Definition: OnlineEventDisplaysSvc.h:42
OnlineEventDisplaysSvc::getEntireOutputStr
std::string getEntireOutputStr() override
Definition: OnlineEventDisplaysSvc.cxx:200
OnlineEventDisplaysSvc::m_eventNumber
long m_eventNumber
Definition: OnlineEventDisplaysSvc.h:48
IOnlineEventDisplaysSvc.h
OnlineEventDisplaysSvc::m_outputStreamDir
std::string m_outputStreamDir
Definition: OnlineEventDisplaysSvc.h:45
OnlineEventDisplaysSvc::finalize
StatusCode finalize() override
Definition: OnlineEventDisplaysSvc.cxx:275
OnlineEventDisplaysSvc
Definition: OnlineEventDisplaysSvc.h:18
SG::ReadHandleKey< xAOD::EventInfo >
OnlineEventDisplaysSvc::m_outputDirectory
Gaudi::Property< std::string > m_outputDirectory
Definition: OnlineEventDisplaysSvc.h:37
OnlineEventDisplaysSvc::beginEvent
void beginEvent()
Definition: OnlineEventDisplaysSvc.cxx:34
OnlineEventDisplaysSvc::initialize
StatusCode initialize() override
Definition: OnlineEventDisplaysSvc.cxx:255
OnlineEventDisplaysSvc::setOwnershipToZpGrpOrDefault
gid_t setOwnershipToZpGrpOrDefault()
Definition: OnlineEventDisplaysSvc.cxx:240
OnlineEventDisplaysSvc::m_runNumber
int m_runNumber
Definition: OnlineEventDisplaysSvc.h:47
OnlineEventDisplaysSvc::m_maxEvents
Gaudi::Property< int > m_maxEvents
Definition: OnlineEventDisplaysSvc.h:43
DeMoScan.directory
string directory
Definition: DeMoScan.py:80
OnlineEventDisplaysSvc::endEvent
void endEvent()
Definition: OnlineEventDisplaysSvc.cxx:130
OnlineEventDisplaysSvc::OnlineEventDisplaysSvc
OnlineEventDisplaysSvc()
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
OnlineEventDisplaysSvc::m_entireOutputStr
std::string m_entireOutputStr
Definition: OnlineEventDisplaysSvc.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EventInfo.h
OnlineEventDisplaysSvc::m_projectTag
Gaudi::Property< std::string > m_projectTag
Definition: OnlineEventDisplaysSvc.h:40
OnlineEventDisplaysSvc::m_streamsWanted
Gaudi::Property< std::vector< std::string > > m_streamsWanted
Definition: OnlineEventDisplaysSvc.h:38
AthService.h
OnlineEventDisplaysSvc::m_BeamSplash
Gaudi::Property< bool > m_BeamSplash
Definition: OnlineEventDisplaysSvc.h:41
OnlineEventDisplaysSvc::createWriteableDir
void createWriteableDir(const std::string &directory, gid_t zpgid)
Definition: OnlineEventDisplaysSvc.cxx:207
ReadHandle.h
Handle class for reading from StoreGate.
OnlineEventDisplaysSvc::m_evt
SG::ReadHandleKey< xAOD::EventInfo > m_evt
Definition: OnlineEventDisplaysSvc.h:36
OnlineEventDisplaysSvc::m_publicStreams
Gaudi::Property< std::vector< std::string > > m_publicStreams
Definition: OnlineEventDisplaysSvc.h:39
OnlineEventDisplaysSvc::getFileNamePrefix
std::string getFileNamePrefix() override
Definition: OnlineEventDisplaysSvc.cxx:196
OnlineEventDisplaysSvc::getStreamName
std::string getStreamName() override
Definition: OnlineEventDisplaysSvc.cxx:204
OnlineEventDisplaysSvc::handle
void handle(const Incident &incident) override
Definition: OnlineEventDisplaysSvc.cxx:281
OnlineEventDisplaysSvc::m_FileNamePrefix
std::string m_FileNamePrefix
Definition: OnlineEventDisplaysSvc.h:44