EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
JEventProcessorPODIO.h
Go to the documentation of this file.
1
2#pragma once
3
4#include <JANA/JEvent.h>
5#include <JANA/JEventProcessor.h>
6#include <podio/Writer.h>
7#include <spdlog/logger.h>
8#include <memory>
9#include <mutex>
10#include <set>
11#include <string>
12#include <vector>
13
14class JEventProcessorPODIO : public JEventProcessor {
15
16public:
18 virtual ~JEventProcessorPODIO() = default;
19
20 void Init() override;
21 void Process(const std::shared_ptr<const JEvent>& event) override;
22 void Finish() override;
23
24 void FindCollectionsToWrite(const std::shared_ptr<const JEvent>& event);
25
26 std::unique_ptr<podio::Writer> m_writer;
27 std::mutex m_mutex;
28 std::once_flag m_is_first_event;
29 std::shared_ptr<spdlog::logger> m_log;
30
31 std::string m_output_file = "podio_output.root";
32 std::string m_output_file_copy_dir = "";
33 std::string m_output_backend = "root";
34 std::set<std::string> m_output_collections; // config. parameter
35 std::set<std::string> m_output_exclude_collections; // config. parameter
36 std::vector<std::string> m_collections_to_write; // derived from above config. parameters
37 std::vector<std::string> m_collections_to_print;
38};
Definition JEventProcessorPODIO.h:14
void Process(const std::shared_ptr< const JEvent > &event) override
Definition JEventProcessorPODIO.cc:693
JEventProcessorPODIO()
Definition JEventProcessorPODIO.cc:28
std::vector< std::string > m_collections_to_write
Definition JEventProcessorPODIO.h:36
std::once_flag m_is_first_event
Definition JEventProcessorPODIO.h:28
std::unique_ptr< podio::Writer > m_writer
Definition JEventProcessorPODIO.h:26
std::string m_output_file_copy_dir
Definition JEventProcessorPODIO.h:32
std::set< std::string > m_output_collections
Definition JEventProcessorPODIO.h:34
std::string m_output_file
Definition JEventProcessorPODIO.h:31
std::mutex m_mutex
Definition JEventProcessorPODIO.h:27
std::vector< std::string > m_collections_to_print
Definition JEventProcessorPODIO.h:37
void FindCollectionsToWrite(const std::shared_ptr< const JEvent > &event)
Definition JEventProcessorPODIO.cc:642
virtual ~JEventProcessorPODIO()=default
std::shared_ptr< spdlog::logger > m_log
Definition JEventProcessorPODIO.h:29
std::set< std::string > m_output_exclude_collections
Definition JEventProcessorPODIO.h:35
std::string m_output_backend
Definition JEventProcessorPODIO.h:33
void Finish() override
Definition JEventProcessorPODIO.cc:777
void Init() override
Definition JEventProcessorPODIO.cc:621