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
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