ATLAS Offline Software
Trigger
TrigAnalysis
TrigInDetAnalysisUser
Analysis
src
RoiFilter.h
Go to the documentation of this file.
1
/* emacs: this is -*- c++ -*- */
12
#ifndef ROIFILTER_H
13
#define ROIFILTER_H
14
15
#include <iostream>
16
#include <cmath>
17
18
#include "
TrigInDetAnalysis/TIDARoiDescriptor.h
"
19
20
21
class
RoiFilter
{
22
23
public
:
24
25
RoiFilter
(
double
eta
=0,
bool
comp
=
false
,
size_t
m
=1 ) :
m_eta
(
eta
),
m_comp
(
comp
),
m_mult
(
m
) { }
26
RoiFilter
(
TIDARoiDescriptor
):
m_eta
(0.0),
m_comp
(false),
m_mult
(0) { }
27
28
double
eta
()
const
{
return
m_eta
; }
29
bool
composite
()
const
{
return
m_comp
; }
30
size_t
size
()
const
{
return
m_mult
; }
31
32
bool
filter
(
const
TIDARoiDescriptor
* roi ) {
33
34
if
( !
composite
() ) {
35
if
( !roi->
composite
() && std::fabs(roi->
eta
())<=
eta
() )
return
true
;
36
else
return
false
;
37
}
38
39
if
( roi->
size
()<
size
() )
return
false
;
40
41
size_t
mult = 0;
42
for
(
size_t
i
=0 ;
i
<roi->
size
() ;
i
++ ) {
43
if
( std::fabs(roi->
at
(
i
)->
eta
())<=
eta
() ) mult++;
44
}
45
46
if
( mult<
size
() )
return
false
;
47
48
return
true
;
49
}
50
51
bool
filter
(
const
TIDARoiDescriptor
& roi ) {
return
filter
( &roi ); }
52
53
private
:
54
55
double
m_eta
;
56
bool
m_comp
;
57
size_t
m_mult
;
58
59
60
};
61
62
inline
std::ostream&
operator<<
( std::ostream&
s
,
const
RoiFilter
&
r
) {
63
s
<<
"[ RoiFilter: eta: "
<<
r
.eta();
64
if
(
r
.composite() )
s
<<
"\tcomposite multiplicity: "
<<
r
.size();
65
return
s
<<
" ]"
;
66
}
67
68
69
#endif // ROIFILTER_H
70
71
72
73
74
75
76
77
78
79
plotting.yearwise_luminosity_vs_mu.comp
comp
Definition:
yearwise_luminosity_vs_mu.py:23
beamspotman.r
def r
Definition:
beamspotman.py:676
python.SystemOfUnits.s
int s
Definition:
SystemOfUnits.py:131
python.SystemOfUnits.m
int m
Definition:
SystemOfUnits.py:91
RoiFilter
Definition:
RoiFilter.h:21
RoiFilter::m_comp
bool m_comp
Definition:
RoiFilter.h:56
TIDARoiDescriptor
Describes the Region of Ineterest geometry It has basically 8 parameters.
Definition:
TIDARoiDescriptor.h:42
TIDARoiDescriptor.h
TIDARoiDescriptor::size
size_t size() const
Definition:
TIDARoiDescriptor.h:176
RoiFilter::filter
bool filter(const TIDARoiDescriptor &roi)
Definition:
RoiFilter.h:51
TIDARoiDescriptor::composite
bool composite() const
composite RoI methods
Definition:
TIDARoiDescriptor.h:174
lumiFormat.i
int i
Definition:
lumiFormat.py:85
RoiFilter::size
size_t size() const
Definition:
RoiFilter.h:30
RoiFilter::m_mult
size_t m_mult
Definition:
RoiFilter.h:57
RoiFilter::RoiFilter
RoiFilter(TIDARoiDescriptor)
Definition:
RoiFilter.h:26
TIDARoiDescriptor::eta
double eta() const
Definition:
TIDARoiDescriptor.h:134
RoiFilter::filter
bool filter(const TIDARoiDescriptor *roi)
Definition:
RoiFilter.h:32
TIDARoiDescriptor::at
const TIDARoiDescriptor * at(int i) const
gets phi half-width
Definition:
TIDARoiDescriptor.h:179
RoiFilter::m_eta
double m_eta
Definition:
RoiFilter.h:55
RoiFilter::RoiFilter
RoiFilter(double eta=0, bool comp=false, size_t m=1)
Definition:
RoiFilter.h:25
operator<<
std::ostream & operator<<(std::ostream &s, const RoiFilter &r)
Definition:
RoiFilter.h:62
RoiFilter::eta
double eta() const
Definition:
RoiFilter.h:28
RoiFilter::composite
bool composite() const
Definition:
RoiFilter.h:29
Generated on Sat Jan 25 2025 21:17:04 for ATLAS Offline Software by
1.8.18