Main Page
Namespaces
Classes
Package Documentation
CVS Directory
WorkBook
Offline Guide
Release schedule
•
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:246
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:32
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