Belle II Software development
TrgEclTiming.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#ifndef TRGECLTIMING_FLAG_
10#define TRGECLTIMING_FLAG_
11
12#include <vector>
13
14#include "trg/ecl/TrgEclMapping.h"
15//
16//
17//
18namespace Belle2 {
23//
24//
25//
26 //
28 //
30
31 public:
33 TrgEclTiming();
34
36 virtual ~TrgEclTiming();
37
40
43
44 public:
46 void Setup(const std::vector<int>&, const std::vector<double>&, const std::vector<double>&);
48 double GetEventTiming(int);//Get eventtming
50 double GetEventTiming00();// Fastest TC timing
52 double GetEventTiming01();// The Most energetic TC Timing
54 double GetEventTiming02();
56 void SetNofTopTC(int NtopTC) {NofTopTC = NtopTC;}
58 int GetTimingSource() {return Source;}
59 // set energy threshold of event timing quality flag
60 void setEventTimingQualityThresholds(const std::vector<double>& iEventTimingQualityThresholds)
61 {
62 m_EventTimingQualityThresholds = iEventTimingQualityThresholds;
63 }
64 // get event timing quality flag
65 int getEventTimingQualityFlag()
66 {
67 return m_EventTimingQualityFlag;
68 }
69 // get TCId which is a source of event timing
70 int getEventTimingTCId()
71 {
72 return m_EventTimingTCId;
73 }
74 // get theta ID of TC which is a source of event timing
75 int getEventTimingTCThetaId()
76 {
77 return m_EventTimingTCThetaId;
78 }
79 // get TC energy which is a source of event timing
80 double getEventTimingTCEnergy()
81 {
82 return m_EventTimingTCEnergy;
83 }
84
85 private:
87 std::vector<double> TCEnergy;
89 std::vector<double> TCTiming;
91 std::vector<int> TCId;
92
93 // Event timing quality flag (for SVD DAQ)
94 // 3:= super-fine timing
95 // 2:= fine timing
96 // 1:= other
97 // 0:= no TC hit
98 int m_EventTimingQualityFlag;
99 // energy threshold(low, high) for quality flag (GeV)
100 std::vector<double> m_EventTimingQualityThresholds;
101 // TCId of event timing source
102 int m_EventTimingTCId;
103 // TC ThetaId of event timing source
104 int m_EventTimingTCThetaId;
105 // TC Energy of event timing source
106 double m_EventTimingTCEnergy;
107
114 };
115//
116//
117//
119} // namespace Belle2
120
121#endif /* TRGECLTiming_FLAG_ */
A class of TC Mapping.
Definition: TrgEclMapping.h:26
A Class of ECL Trigger clustering
Definition: TrgEclTiming.h:29
std::vector< double > TCEnergy
TC Energy.
Definition: TrgEclTiming.h:87
void Setup(const std::vector< int > &, const std::vector< double > &, const std::vector< double > &)
SetUp.
Definition: TrgEclTiming.cc:43
void SetNofTopTC(int NtopTC)
Set # of considered TC in Energy weighted timing method.
Definition: TrgEclTiming.h:56
double GetEventTiming(int)
Get Evnet-timing.
Definition: TrgEclTiming.cc:55
double GetEventTiming00()
Fastest TC Timing.
Definition: TrgEclTiming.cc:75
int GetTimingSource()
Get Timing Source.
Definition: TrgEclTiming.h:58
std::vector< double > TCTiming
TC Timing.
Definition: TrgEclTiming.h:89
TrgEclTiming(TrgEclTiming &)=delete
Destructor.
virtual ~TrgEclTiming()
Constructor.
Definition: TrgEclTiming.cc:35
TrgEclTiming()
Constructor.
Definition: TrgEclTiming.cc:20
TrgEclTiming & operator=(TrgEclTiming &)=delete
Assignment operator, deleted.
double GetEventTiming01()
The Most energetic TC Timing.
int Source
Timing Source (FWD, Barrel, Backward)
Definition: TrgEclTiming.h:113
double GetEventTiming02()
Energy weighted Timing of Top 3 energetic TC.
TrgEclMapping * _TCMap
Object of TC Mapping.
Definition: TrgEclTiming.h:111
std::vector< int > TCId
TC Id.
Definition: TrgEclTiming.h:91
Abstract base class for different kinds of events.