Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
RecoEgamma
EgammaIsolationAlgos
plugins
EgammaTowerExtractor.h
Go to the documentation of this file.
1
#ifndef EgammaTowerIsolation_h
2
#define EgammaTowerIsolation_h
3
4
//*****************************************************************************
5
// File: EgammaTowerExtractor.h
6
// ----------------------------------------------------------------------------
7
// OrigAuth: Matthias Mozer
8
// Institute: IIHE-VUB
9
//=============================================================================
10
//*****************************************************************************
11
12
//C++ includes
13
#include <vector>
14
#include <functional>
15
16
//CMSSW includes
17
#include "
DataFormats/Candidate/interface/Candidate.h
"
18
#include "
DataFormats/CaloTowers/interface/CaloTowerCollection.h
"
19
20
#include "
FWCore/Framework/interface/Event.h
"
21
#include "
FWCore/Framework/interface/EventSetup.h
"
22
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
23
#include "
FWCore/Utilities/interface/InputTag.h
"
24
25
#include "
DataFormats/TrackReco/interface/Track.h
"
26
#include "
DataFormats/TrackReco/interface/TrackFwd.h
"
27
28
#include "
PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h
"
29
#include "
DataFormats/RecoCandidate/interface/IsoDeposit.h
"
30
31
32
namespace
egammaisolation {
33
34
class
EgammaTowerExtractor
:
public
reco::isodeposit::IsoDepositExtractor
{
35
36
public
:
37
enum
HcalDepth
{
AllDepths
=-1,
Undefined
=0,
Depth1
=1,
Depth2
=2};
38
39
40
public
:
41
EgammaTowerExtractor
(
const
edm::ParameterSet
& par ) :
42
extRadius2_
(par.getParameter<double>(
"extRadius"
)),
43
intRadius_
(par.getParameter<double>(
"intRadius"
)),
44
etLow_
(par.getParameter<double>(
"etMin"
)),
45
caloTowerTag_
(par.getParameter<edm::InputTag>(
"caloTowers"
)),
46
depth_
(par.getParameter<int>(
"hcalDepth"
))
47
{
48
extRadius2_
*=
extRadius2_
;
49
//lets just check we have a valid depth
50
//should we throw an exception or just warn and then fail gracefully later?
51
if
(
depth_
!=
AllDepths
&&
depth_
!=
Depth1
&&
depth_
!=
Depth2
){
52
throw
cms::Exception
(
"Configuration Error"
) <<
"hcalDepth passed to EgammaTowerExtractor is invalid "
<<std::endl;
53
}
54
}
55
56
virtual
~EgammaTowerExtractor
() ;
57
58
virtual
void
fillVetos
(
const
edm::Event
& ev,
const
edm::EventSetup
& evSetup,
59
const
reco::TrackCollection
&
tracks
) { }
60
virtual
reco::IsoDeposit
deposit
(
const
edm::Event
& ev,
const
edm::EventSetup
& evSetup,
61
const
reco::Track
& track)
const
{
62
throw
cms::Exception
(
"Configuration Error"
) <<
63
"This extractor "
<< (
typeid
(
this
).
name
()) <<
" is not made for tracks"
;
64
}
65
virtual
reco::IsoDeposit
deposit
(
const
edm::Event
& ev,
const
edm::EventSetup
& evSetup,
66
const
reco::Candidate
&
c
)
const
;
67
68
private
:
69
double
extRadius2_
;
70
double
intRadius_
;
71
double
etLow_
;
72
73
74
edm::InputTag
caloTowerTag_
;
75
int
depth_
;
76
//const CaloTowerCollection *towercollection_ ;
77
};
78
}
79
#endif
CaloTowerCollection.h
reco::IsoDeposit
Definition:
IsoDeposit.h:46
egammaisolation::EgammaTowerExtractor::Depth1
Definition:
EgammaTowerExtractor.h:37
egammaisolation::EgammaTowerExtractor::AllDepths
Definition:
EgammaTowerExtractor.h:37
egammaisolation::EgammaTowerExtractor::depth_
int depth_
Definition:
EgammaTowerExtractor.h:75
Event.h
egammaisolation::EgammaTowerExtractor::deposit
virtual reco::IsoDeposit deposit(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::Track &track) const
Definition:
EgammaTowerExtractor.h:60
EventSetup.h
reco::Candidate
Definition:
Candidate.h:32
reco::isodeposit::IsoDepositExtractor
Definition:
IsoDepositExtractor.h:25
reco::TrackCollection
std::vector< Track > TrackCollection
collection of Tracks
Definition:
TrackFwd.h:10
egammaisolation::EgammaTowerExtractor::~EgammaTowerExtractor
virtual ~EgammaTowerExtractor()
Definition:
EgammaTowerExtractor.cc:31
TrackFwd.h
egammaisolation::EgammaTowerExtractor::HcalDepth
HcalDepth
Definition:
EgammaTowerExtractor.h:37
mergeVDriftHistosByStation.name
string name
Definition:
mergeVDriftHistosByStation.py:77
ParameterSet.h
Candidate.h
egammaisolation::EgammaTowerExtractor::Undefined
Definition:
EgammaTowerExtractor.h:37
egammaisolation::EgammaTowerExtractor::fillVetos
virtual void fillVetos(const edm::Event &ev, const edm::EventSetup &evSetup, const reco::TrackCollection &tracks)
Definition:
EgammaTowerExtractor.h:58
egammaisolation::EgammaTowerExtractor::extRadius2_
double extRadius2_
Definition:
EgammaTowerExtractor.h:69
egammaisolation::EgammaTowerExtractor::caloTowerTag_
edm::InputTag caloTowerTag_
Definition:
EgammaTowerExtractor.h:74
egammaisolation::EgammaTowerExtractor::Depth2
Definition:
EgammaTowerExtractor.h:37
edm::EventSetup
Definition:
EventSetup.h:44
egammaisolation::EgammaTowerExtractor
Definition:
EgammaTowerExtractor.h:34
edm::hlt::Exception
error
Definition:
HLTenums.h:24
egammaisolation::EgammaTowerExtractor::intRadius_
double intRadius_
Definition:
EgammaTowerExtractor.h:70
testEve_cfg.tracks
tuple tracks
Definition:
testEve_cfg.py:39
trackerHits.c
tuple c
Definition:
trackerHits.py:26
reco::Track
Definition:
Track.h:27
IsoDeposit.h
IsoDepositExtractor.h
edm::InputTag
Definition:
InputTag.h:17
InputTag.h
egammaisolation::EgammaTowerExtractor::etLow_
double etLow_
Definition:
EgammaTowerExtractor.h:71
edm::ParameterSet
Definition:
ParameterSet.h:35
edm::Event
Definition:
Event.h:56
Track.h
egammaisolation::EgammaTowerExtractor::EgammaTowerExtractor
EgammaTowerExtractor(const edm::ParameterSet &par)
Definition:
EgammaTowerExtractor.h:41
Generated for CMSSW Reference Manual by
1.8.5