Belle II Software  release-06-02-00
EventT0Combiner.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/core/Module.h>
12 #include <framework/datastore/StoreObjPtr.h>
13 #include <framework/dataobjects/EventT0.h>
14 
15 
16 namespace Belle2 {
24  class EventT0CombinerModule final : public Module {
25 
26  public:
27 
30 
32  virtual ~EventT0CombinerModule() = default;
33 
36  void event() override;
37 
38  private:
39 
41  EventT0::EventT0Component computeCombination(std::vector<EventT0::EventT0Component> measurements) const;
42 
45 
48  const std::string m_combinationModePreferCDC = "prefer_cdc";
49 
52  const std::string m_combinationModeCombineCDCandECL = "combine_cdc_and_ecl";
53 
56 
57  };
59 } // Belle2 namespace
Module to combine the EventT0 values from multiple sub-detectors.
std::string m_paramCombinationMode
Mode to combine the t0 values of the sub-detectors.
StoreObjPtr< EventT0 > m_eventT0
Access to global EventT0 which will be read and updated.
virtual ~EventT0CombinerModule()=default
Destructor.
void event() override
This method is called for each event.
const std::string m_combinationModeCombineCDCandECL
In this mode, the CDC t0 value (if available) will be used to select the ECL t0 information which is ...
const std::string m_combinationModePreferCDC
In this mode, the CDC t0 value (if available) will be set as the final T0 value.
EventT0::EventT0Component computeCombination(std::vector< EventT0::EventT0Component > measurements) const
computes the new average between multiple, un-correlated sub-detector measurements
EventT0CombinerModule()
Default constructor.
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:95
Abstract base class for different kinds of events.
Structure for storing the extracted event t0s together with its detector and its uncertainty.
Definition: EventT0.h:34