Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
SUSYBSMAnalysis
HSCP
src
CandidateSelector.cc
Go to the documentation of this file.
1
#include "
SUSYBSMAnalysis/HSCP/interface/CandidateSelector.h
"
2
3
CandidateSelector::CandidateSelector
(
const
edm::ParameterSet
& iConfig){
4
isTrack
= iConfig.
getParameter
<
bool
> (
"onlyConsiderTrack"
);
5
isMuon
= iConfig.
getParameter
<
bool
> (
"onlyConsiderMuon"
);
6
isMuonSTA
= iConfig.
getParameter
<
bool
> (
"onlyConsiderMuonSTA"
);
7
isMuonGB
= iConfig.
getParameter
<
bool
> (
"onlyConsiderMuonGB"
);
8
isMuonTK
= iConfig.
getParameter
<
bool
> (
"onlyConsiderMuonTK"
);
9
isRpc
= iConfig.
getParameter
<
bool
> (
"onlyConsiderRpc"
);
10
isEcal
= iConfig.
getParameter
<
bool
> (
"onlyConsiderEcal"
);
11
12
minTrackHits
= iConfig.
getParameter
<
int
> (
"minTrackHits"
);
13
minTrackP
= iConfig.
getParameter
<
double
> (
"minTrackP"
);
14
minTrackPt
= iConfig.
getParameter
<
double
> (
"minTrackPt"
);
15
16
minDedx
= iConfig.
getParameter
<
double
> (
"minDedx"
);
17
18
minMuonP
= iConfig.
getParameter
<
double
> (
"minMuonP"
);
19
minMuonPt
= iConfig.
getParameter
<
double
> (
"minMuonPt"
);
20
21
maxMuTimeDtBeta
= iConfig.
getParameter
<
double
> (
"maxMuTimeDtBeta"
);
22
minMuTimeDtNdof
= iConfig.
getParameter
<
double
> (
"minMuTimeDtNdof"
);
23
maxMuTimeCscBeta
= iConfig.
getParameter
<
double
> (
"maxMuTimeCscBeta"
);
24
minMuTimeCscNdof
= iConfig.
getParameter
<
double
> (
"minMuTimeCscNdof"
);
25
maxMuTimeCombinedBeta
= iConfig.
getParameter
<
double
> (
"maxMuTimeCombinedBeta"
);
26
minMuTimeCombinedNdof
= iConfig.
getParameter
<
double
> (
"minMuTimeCombinedNdof"
);
27
28
maxBetaRpc
= iConfig.
getParameter
<
double
> (
"maxBetaRpc"
);
29
maxBetaEcal
= iConfig.
getParameter
<
double
> (
"maxBetaEcal"
);
30
}
31
32
33
bool
CandidateSelector::isSelected
(
HSCParticle
& candidate)
34
{
35
if
(
isTrack
&& !candidate.
hasTrackRef
()){
return
false
;}
36
if
(
isMuon
&& !candidate.
hasMuonRef
() ){
return
false
;}
37
if
(
isMuonSTA
&& (!candidate.
hasMuonRef
() || candidate.
muonRef
()->standAloneMuon().
isNull
()) ){
return
false
;}
38
if
(
isMuonGB
&& (!candidate.
hasMuonRef
() || candidate.
muonRef
()->combinedMuon ().
isNull
()) ){
return
false
;}
39
if
(
isMuonTK
&& (!candidate.
hasMuonRef
() || candidate.
muonRef
()->innerTrack ().
isNull
()) ){
return
false
;}
40
if
(
isRpc
&& !candidate.
hasRpcInfo
() ){
return
false
;}
41
if
(
isEcal
&& !candidate.
hasCaloInfo
()){
return
false
;}
42
43
if
(candidate.
hasTrackRef
()){
44
if
(candidate.
trackRef
()->found() <
minTrackHits
){
return
false
;}
45
if
(candidate.
trackRef
()->p() <
minTrackP
){
return
false
;}
46
if
(candidate.
trackRef
()->pt() <
minTrackPt
){
return
false
;}
47
48
// Need to be implemented using external dE/dx object
49
// if(candidate.hasDedxEstim1() && minDedxEstimator1>=0 && candidate.dedxEstimator1 ().dEdx()<minDedxEstimator1) {return false;}
50
// if(candidate.hasDedxDiscrim1() && minDedxDiscriminator1>=0 && candidate.dedxDiscriminator1().dEdx()<minDedxDiscriminator1){return false;}
51
}
52
53
if
(candidate.
hasMuonRef
()){
54
if
(candidate.
muonRef
()->p() <
minMuonP
){
return
false
;}
55
if
(candidate.
muonRef
()->pt() <
minMuonPt
){
return
false
;}
56
57
// Need to be implemented using external timing object
58
// if(maxMuTimeDtBeta >=0 && 1.0/candidate.muonTimeDt().inverseBeta() > maxMuTimeDtBeta ){return false;}
59
// if(minMuTimeDtNdof >=0 && 1.0/candidate.muonTimeDt().nDof() < minMuTimeDtNdof ){return false;}
60
// if(maxMuTimeCscBeta >=0 && 1.0/candidate.muonTimeCsc().inverseBeta() > maxMuTimeCscBeta ){return false;}
61
// if(minMuTimeCscNdof >=0 && 1.0/candidate.muonTimeCsc().nDof() < minMuTimeCscNdof ){return false;}
62
// if(maxMuTimeCombinedBeta>=0 && 1.0/candidate.muonTimeCombined().inverseBeta() > maxMuTimeCombinedBeta){return false;}
63
// if(minMuTimeCombinedNdof>=0 && 1.0/candidate.muonTimeCombined().nDof() < minMuTimeCombinedNdof){return false;}
64
}
65
66
if
(candidate.
hasRpcInfo
() &&
maxBetaRpc
>=0 && candidate.
rpc
().
beta
>
maxBetaRpc
){
return
false
;}
67
68
// Need to be implemented using external dE/dx object
69
// if(candidate.hasCaloInfo() && maxBetaEcal>=0 && candidate.calo().ecalBeta > maxBetaEcal){return false;}
70
71
return
true
;
72
}
73
CandidateSelector::isRpc
bool isRpc
Definition:
CandidateSelector.h:33
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
CandidateSelector::isMuonGB
bool isMuonGB
Definition:
CandidateSelector.h:31
CandidateSelector::minMuTimeCombinedNdof
float minMuTimeCombinedNdof
Definition:
CandidateSelector.h:49
susybsm::HSCParticle
Definition:
HSCParticle.h:48
susybsm::HSCParticle::rpc
const RPCBetaMeasurement & rpc() const
Definition:
HSCParticle.h:74
CandidateSelector::isSelected
bool isSelected(HSCParticle &candidate)
Definition:
CandidateSelector.cc:33
CandidateSelector::isMuon
bool isMuon
Definition:
CandidateSelector.h:29
CandidateSelector.h
susybsm::HSCParticle::hasTrackRef
bool hasTrackRef() const
Definition:
HSCParticle.h:56
susybsm::RPCBetaMeasurement::beta
float beta
Definition:
HSCParticle.h:39
CandidateSelector::minMuTimeCscNdof
float minMuTimeCscNdof
Definition:
CandidateSelector.h:47
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition:
Ref.h:244
CandidateSelector::minTrackPt
float minTrackPt
Definition:
CandidateSelector.h:38
CandidateSelector::minMuonP
float minMuonP
Definition:
CandidateSelector.h:41
CandidateSelector::isEcal
bool isEcal
Definition:
CandidateSelector.h:34
CandidateSelector::maxMuTimeCscBeta
float maxMuTimeCscBeta
Definition:
CandidateSelector.h:46
CandidateSelector::minTrackP
float minTrackP
Definition:
CandidateSelector.h:37
CandidateSelector::maxMuTimeDtBeta
float maxMuTimeDtBeta
Definition:
CandidateSelector.h:44
CandidateSelector::minMuTimeDtNdof
float minMuTimeDtNdof
Definition:
CandidateSelector.h:45
CandidateSelector::isMuonTK
bool isMuonTK
Definition:
CandidateSelector.h:32
CandidateSelector::maxMuTimeCombinedBeta
float maxMuTimeCombinedBeta
Definition:
CandidateSelector.h:48
susybsm::HSCParticle::muonRef
reco::MuonRef muonRef() const
Definition:
HSCParticle.h:72
CandidateSelector::minTrackHits
int minTrackHits
Definition:
CandidateSelector.h:36
CandidateSelector::maxBetaRpc
float maxBetaRpc
Definition:
CandidateSelector.h:51
CandidateSelector::CandidateSelector
CandidateSelector(const edm::ParameterSet &iConfig)
Definition:
CandidateSelector.cc:3
susybsm::HSCParticle::trackRef
reco::TrackRef trackRef() const
Definition:
HSCParticle.h:70
CandidateSelector::minMuonPt
float minMuonPt
Definition:
CandidateSelector.h:42
susybsm::HSCParticle::hasRpcInfo
bool hasRpcInfo() const
Definition:
HSCParticle.h:58
CandidateSelector::isTrack
bool isTrack
Definition:
CandidateSelector.h:28
CandidateSelector::minDedx
float minDedx
Definition:
CandidateSelector.h:39
edm::ParameterSet
Definition:
ParameterSet.h:31
CandidateSelector::maxBetaEcal
float maxBetaEcal
Definition:
CandidateSelector.h:52
susybsm::HSCParticle::hasMuonRef
bool hasMuonRef() const
Definition:
HSCParticle.h:55
CandidateSelector::isMuonSTA
bool isMuonSTA
Definition:
CandidateSelector.h:30
susybsm::HSCParticle::hasCaloInfo
bool hasCaloInfo() const
Definition:
HSCParticle.h:59
Generated for CMSSW Reference Manual by
1.8.5