Main Page
Namespaces
Classes
Package Documentation
Calibration
Tools
interface
IMASelector.h
Go to the documentation of this file.
1
#ifndef UtilAlgos_IMASelector_h
2
#define UtilAlgos_IMASelector_h
3
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
4
#include "
CommonTools/UtilAlgos/interface/ParameterAdapter.h
"
5
#include <iostream>
6
7
8
struct
IMASelector
{
9
IMASelector
(
double
ESCOPinMin,
double
ESeedOPoutMin,
double
PinMPoutOPinMin,
10
double
ESCOPinMax,
double
ESeedOPoutMax,
double
PinMPoutOPinMax,
11
double
EMPoutMin,
double
EMPoutMax) :
12
ESCOPinMin_
(ESCOPinMin),
13
ESeedOPoutMin_
(ESeedOPoutMin),
14
PinMPoutOPinMin_
(PinMPoutOPinMin),
15
ESCOPinMax_
(ESCOPinMax),
16
ESeedOPoutMax_
(ESeedOPoutMax),
17
PinMPoutOPinMax_
(PinMPoutOPinMax),
18
EMPoutMin_
(EMPoutMin),
19
EMPoutMax_
(EMPoutMax) {}
20
21
template
<
typename
T>
22
bool
operator()
(
const
T
&
t
)
const
{
23
double
pin = t.trackMomentumAtVtx ().R () ;
24
double
poMpiOpi = (pin - t.trackMomentumOut ().R ()) / pin ;
25
double
ESC = t.energy () ;
26
double
pOut = t.trackMomentumOut().R();
27
double
EseedOPout = t.eSeedClusterOverPout () ;
28
double
EoPin = t.eSuperClusterOverP () ;
29
double
EoPout = (ESC)/pOut;
30
return
(poMpiOpi >
PinMPoutOPinMin_
&& poMpiOpi <
PinMPoutOPinMax_
&&
31
EseedOPout >
ESeedOPoutMin_
&& EseedOPout <
ESeedOPoutMax_
&&
32
EoPin >
ESCOPinMin_
&& EoPin <
ESCOPinMax_
&&
33
EoPout >
EMPoutMin_
&& EoPout <
EMPoutMax_
) ;
34
}
35
private
:
36
double
ESCOPinMin_
,
ESeedOPoutMin_
,
PinMPoutOPinMin_
;
37
double
ESCOPinMax_
,
ESeedOPoutMax_
,
PinMPoutOPinMax_
;
38
double
EMPoutMin_
,
EMPoutMax_
;
39
};
40
41
42
namespace
reco
{
43
namespace
modules
{
44
template
<>
45
struct
ParameterAdapter
<
IMASelector
> {
46
static
IMASelector
make
(
const
edm::ParameterSet
&
cfg
,
edm::ConsumesCollector
& iC) {
47
return
IMASelector
(cfg.
getParameter
<
double
>(
"ESCOPinMin"
),
48
cfg.
getParameter
<
double
>(
"ESeedOPoutMin"
),
49
cfg.
getParameter
<
double
>(
"PinMPoutOPinMin"
),
50
cfg.
getParameter
<
double
>(
"ESCOPinMax"
),
51
cfg.
getParameter
<
double
>(
"ESeedOPoutMax"
),
52
cfg.
getParameter
<
double
>(
"PinMPoutOPinMax"
),
53
cfg.
getParameter
<
double
>(
"EMPoutMin"
),
54
cfg.
getParameter
<
double
>(
"EMPoutMax"
)
55
);
56
}
57
};
58
}
59
}
60
61
#endif
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
IMASelector::ESCOPinMax_
double ESCOPinMax_
Definition:
IMASelector.h:37
IMASelector::EMPoutMax_
double EMPoutMax_
Definition:
IMASelector.h:38
IMASelector::ESeedOPoutMax_
double ESeedOPoutMax_
Definition:
IMASelector.h:37
IMASelector::PinMPoutOPinMax_
double PinMPoutOPinMax_
Definition:
IMASelector.h:37
IMASelector::ESCOPinMin_
double ESCOPinMin_
Definition:
IMASelector.h:36
IMASelector::IMASelector
IMASelector(double ESCOPinMin, double ESeedOPoutMin, double PinMPoutOPinMin, double ESCOPinMax, double ESeedOPoutMax, double PinMPoutOPinMax, double EMPoutMin, double EMPoutMax)
Definition:
IMASelector.h:9
IMASelector
Definition:
IMASelector.h:8
IMASelector::ESeedOPoutMin_
double ESeedOPoutMin_
Definition:
IMASelector.h:36
looper.cfg
cfg
Definition:
looper.py:293
reco::modules::ParameterAdapter
Definition:
ParameterAdapter.h:11
IMASelector::operator()
bool operator()(const T &t) const
Definition:
IMASelector.h:22
SingleObjectSelectorBase
Definition:
SingleObjectSelector.h:28
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:43
IMASelector::EMPoutMin_
double EMPoutMin_
Definition:
IMASelector.h:38
lumiQTWidget.t
t
Definition:
lumiQTWidget.py:50
ParameterAdapter.h
edm::ParameterSet
Definition:
ParameterSet.h:36
IMASelector::PinMPoutOPinMin_
double PinMPoutOPinMin_
Definition:
IMASelector.h:36
T
long double T
Definition:
Basic3DVectorLD.h:57
ConsumesCollector.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
reco::modules::ParameterAdapter< IMASelector >::make
static IMASelector make(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
Definition:
IMASelector.h:46
modules
Definition:
ZHLTMatchFilter.cc:17
Generated for CMSSW Reference Manual by
1.8.11