19 |
|
const Double_t dRMax); |
20 |
|
|
21 |
|
//-------------------------------------------------------------------------------------------------- |
22 |
+ |
SelectionStatus muonDummyVeto(ControlFlags &ctrl, |
23 |
+ |
const mithep::Muon *muon, |
24 |
+ |
const mithep::Vertex &vtx) |
25 |
+ |
//-------------------------------------------------------------------------------------------------- |
26 |
+ |
{ |
27 |
+ |
SelectionStatus status; |
28 |
+ |
status.setStatus(SelectionStatus::PRESELECTION); |
29 |
+ |
return status; |
30 |
+ |
} |
31 |
+ |
|
32 |
+ |
//-------------------------------------------------------------------------------------------------- |
33 |
+ |
SelectionStatus muonCutBasedVeto(ControlFlags &ctrl, |
34 |
+ |
const mithep::Muon *muon, |
35 |
+ |
const mithep::Vertex &vtx) |
36 |
+ |
//-------------------------------------------------------------------------------------------------- |
37 |
+ |
{ |
38 |
+ |
// |
39 |
+ |
// Loose cut-based ID for isolation veto |
40 |
+ |
// |
41 |
+ |
bool ret = true; |
42 |
+ |
|
43 |
+ |
if(!(muon->IsGlobalMuon() || muon->IsTrackerMuon())) ret = false; |
44 |
+ |
if( muon->NValidHits() < 11 ) ret = false; |
45 |
+ |
if( fabs(muon->Ip3dPVSignificance()) >= 4 ) ret = false; |
46 |
+ |
|
47 |
+ |
SelectionStatus status; |
48 |
+ |
if( ret ) status.setStatus(SelectionStatus::PRESELECTION); |
49 |
+ |
return status; |
50 |
+ |
} |
51 |
+ |
|
52 |
+ |
|
53 |
+ |
//-------------------------------------------------------------------------------------------------- |
54 |
|
SelectionStatus noPreSelection( ControlFlags &ctrl, const mithep::Muon * mu ) |
55 |
|
|
56 |
|
//-------------------------------------------------------------------------------------------------- |