CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TCMETAlgo.h
Go to the documentation of this file.
1 #ifndef TCMETAlgo_h
2 #define TCMETAlgo_h
3 
18 #include <vector>
19 #include <string>
25 
30 
35 
46 #include "TH2D.h"
47 #include "TVector3.h"
48 
49 class TCMETAlgo
50 {
51  public:
52  typedef std::vector<const reco::Candidate> InputCollection;
53  TCMETAlgo();
54  virtual ~TCMETAlgo();
56  TH2D* getResponseFunction_fit ( );
57  TH2D* getResponseFunction_mode ( );
60  void configure(const edm::ParameterSet &iConfig, int myResponseFunctionType);
61  private:
62  double met_x;
63  double met_y;
64  double sumEt;
65 
72 
75 
82 
85 
90 
92  int nLayers_;
95  double vertexZ_;
96  double vertexRho_;
97  double vertexMaxDZ_;
98  double maxpt_eta25_;
99  double maxpt_eta20_;
101  double dupMinPt_;
102  double dupDPhi_;
103  double dupDCotTh_;
104  std::vector<int> duplicateTracks_;
105 
106  double d0cuta_;
107  double d0cutb_;
108  double maxd0cut_;
112  int rfType_;
117  double minpt_;
118  double maxpt_;
119  double maxeta_;
120  double maxchi2_;
121  double minhits_;
122  double maxPtErr_;
123  double radius_;
124  double zdist_;
125  double corner_;
126  double eVetoDeltaR_;
130  double hOverECut_;
131  std::vector<int> trkQuality_;
132  std::vector<int> trkAlgos_;
133 
139 
140  const class MagneticField* bField;
141 
142  class TH2D* response_function;
143  class TH2D* showerRF;
146 
149 
150  bool isMuon( unsigned int );
151  bool isElectron( unsigned int );
152  bool isGoodTrack( const reco::TrackRef , int trk_idx );
153  bool closeToElectron( const reco::TrackRef );
154  void correctMETforMuon( const reco::TrackRef, const unsigned int );
155  void correctSumEtForMuon( const reco::TrackRef, const unsigned int );
156  void correctMETforMuon( const unsigned int );
157  void correctSumEtForMuon( const unsigned int );
158  void correctMETforTrack( const reco::TrackRef , TH2D* rf, const TVector3 );
159  void correctSumEtForTrack( const reco::TrackRef , TH2D* rf, const TVector3 );
160  class TVector3 propagateTrack( const reco::TrackRef );
161  class TVector3 propagateTrackToHCAL( const reco::TrackRef );
162  void findGoodShowerTracks(std::vector<int>& goodShowerTracks);
163  bool nearGoodShowerTrack( const reco::TrackRef , std::vector<int> goodShowerTracks );
164  int nExpectedInnerHits(const reco::TrackRef);
165  int nExpectedOuterHits(const reco::TrackRef);
166  int nLayers(const reco::TrackRef);
167  bool isValidVertex();
168  void findDuplicateTracks();
169  int vetoTrack( int i1 , int i2 );
170 };
171 
172 #endif // TCMETAlgo_h
173 
edm::InputTag muonInputTag_
Definition: TCMETAlgo.h:76
double zdist_
Definition: TCMETAlgo.h:124
bool hasValidVertex
Definition: TCMETAlgo.h:144
edm::ValueMap< reco::MuonMETCorrectionData > muon_data
Definition: TCMETAlgo.h:147
edm::InputTag vertexInputTag_
Definition: TCMETAlgo.h:81
reco::MET CalculateTCMET(edm::Event &event, const edm::EventSetup &setup)
Definition: TCMETAlgo.cc:161
double eVetoDeltaPhi_
Definition: TCMETAlgo.h:127
bool nearGoodShowerTrack(const reco::TrackRef, std::vector< int > goodShowerTracks)
Definition: TCMETAlgo.cc:529
TH2D * getResponseFunction_fit()
Definition: TCMETAlgo.cc:3649
TH2D * getResponseFunction_noshower()
Definition: TCMETAlgo.cc:2274
edm::InputTag inputTagPFClustersECAL_
Definition: TCMETAlgo.h:86
edm::Handle< edm::View< reco::MET > > metHandle
Definition: TCMETAlgo.h:68
int rfType_
Definition: TCMETAlgo.h:112
edm::InputTag trackInputTag_
Definition: TCMETAlgo.h:79
int nLayers(const reco::TrackRef)
Definition: TCMETAlgo.cc:594
class MagneticField * bField
Definition: TCMETAlgo.h:140
edm::InputTag tcmetDepValueMap_
Definition: TCMETAlgo.h:84
double vertexRho_
Definition: TCMETAlgo.h:96
double dupDCotTh_
Definition: TCMETAlgo.h:103
double dupMinPt_
Definition: TCMETAlgo.h:101
edm::Handle< edm::ValueMap< reco::MuonMETCorrectionData > > muon_data_h
Definition: TCMETAlgo.h:73
edm::InputTag muonDepValueMap_
Definition: TCMETAlgo.h:83
int vertexNdof_
Definition: TCMETAlgo.h:94
void correctMETforMuon(const reco::TrackRef, const unsigned int)
Definition: TCMETAlgo.cc:736
edm::InputTag metInputTag_
Definition: TCMETAlgo.h:78
class TH2D * response_function
Definition: TCMETAlgo.h:142
double corner_
Definition: TCMETAlgo.h:125
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double eVetoDeltaR_
Definition: TCMETAlgo.h:126
bool usePFClusters_
Definition: TCMETAlgo.h:91
int nExpectedOuterHits(const reco::TrackRef)
Definition: TCMETAlgo.cc:587
bool usePvtxd0_
Definition: TCMETAlgo.h:137
double met_x
Definition: TCMETAlgo.h:62
edm::InputTag electronInputTag_
Definition: TCMETAlgo.h:77
edm::InputTag inputTagPFClustersHFHAD_
Definition: TCMETAlgo.h:89
double maxpt_eta25_
Definition: TCMETAlgo.h:98
TH2D * getResponseFunction_shower()
Definition: TCMETAlgo.cc:899
bool electronVetoCone_
Definition: TCMETAlgo.h:136
double maxpt_eta20_
Definition: TCMETAlgo.h:99
double eVetoMinElectronPt_
Definition: TCMETAlgo.h:129
double vertexZ_
Definition: TCMETAlgo.h:95
void findGoodShowerTracks(std::vector< int > &goodShowerTracks)
Definition: TCMETAlgo.cc:551
double maxeta_
Definition: TCMETAlgo.h:119
edm::Handle< reco::VertexCollection > VertexHandle
Definition: TCMETAlgo.h:71
void correctSumEtForMuon(const reco::TrackRef, const unsigned int)
Definition: TCMETAlgo.cc:766
int maxTrackAlgo_
Definition: TCMETAlgo.h:114
bool isValidVertex()
Definition: TCMETAlgo.cc:482
int nLayers_
Definition: TCMETAlgo.h:92
bool isMuon(unsigned int)
Definition: TCMETAlgo.cc:602
bool correctShowerTracks_
Definition: TCMETAlgo.h:135
void findDuplicateTracks()
Definition: TCMETAlgo.cc:426
double d0cuta_
Definition: TCMETAlgo.h:106
std::vector< const reco::Candidate > InputCollection
Definition: TCMETAlgo.h:52
bool isGoodTrack(const reco::TrackRef, int trk_idx)
Definition: TCMETAlgo.cc:639
std::vector< int > trkQuality_
Definition: TCMETAlgo.h:131
double d0cutb_
Definition: TCMETAlgo.h:107
Definition: MET.h:32
double met_y
Definition: TCMETAlgo.h:63
double sumEt
Definition: TCMETAlgo.h:64
double radius_
Definition: TCMETAlgo.h:123
double maxchi2_tight_
Definition: TCMETAlgo.h:109
TH2D * getResponseFunction_mode()
Definition: TCMETAlgo.cc:5123
class TH2D * showerRF
Definition: TCMETAlgo.h:143
double usedeltaRRejection_
Definition: TCMETAlgo.h:115
void configure(const edm::ParameterSet &iConfig, int myResponseFunctionType)
Definition: TCMETAlgo.cc:65
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
edm::Handle< reco::GsfElectronCollection > ElectronHandle
Definition: TCMETAlgo.h:67
std::vector< int > trkAlgos_
Definition: TCMETAlgo.h:132
class TVector3 propagateTrack(const reco::TrackRef)
Definition: TCMETAlgo.cc:851
edm::Handle< reco::TrackCollection > TrackHandle
Definition: TCMETAlgo.h:69
edm::ValueMap< reco::MuonMETCorrectionData > tcmet_data
Definition: TCMETAlgo.h:148
void correctSumEtForTrack(const reco::TrackRef, TH2D *rf, const TVector3)
Definition: TCMETAlgo.cc:827
double minhits_
Definition: TCMETAlgo.h:121
double deltaRShower_
Definition: TCMETAlgo.h:116
int nLayersTight_
Definition: TCMETAlgo.h:93
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
double maxpt_
Definition: TCMETAlgo.h:118
int nMinOuterHits_
Definition: TCMETAlgo.h:113
double eVetoDeltaCotTheta_
Definition: TCMETAlgo.h:128
string const
Definition: compareJSON.py:14
virtual ~TCMETAlgo()
Definition: TCMETAlgo.cc:155
int vetoTrack(int i1, int i2)
Definition: TCMETAlgo.cc:464
edm::InputTag beamSpotInputTag_
Definition: TCMETAlgo.h:80
edm::Handle< reco::BeamSpot > beamSpotHandle
Definition: TCMETAlgo.h:70
double maxchi2_
Definition: TCMETAlgo.h:120
bool isCosmics_
Definition: TCMETAlgo.h:134
class TVector3 propagateTrackToHCAL(const reco::TrackRef)
const reco::VertexCollection * vertexColl
Definition: TCMETAlgo.h:145
void correctMETforTrack(const reco::TrackRef, TH2D *rf, const TVector3)
Definition: TCMETAlgo.cc:794
edm::Handle< edm::ValueMap< reco::MuonMETCorrectionData > > tcmet_data_h
Definition: TCMETAlgo.h:74
edm::InputTag inputTagPFClustersHCAL_
Definition: TCMETAlgo.h:87
edm::Handle< reco::MuonCollection > MuonHandle
Definition: TCMETAlgo.h:66
bool checkTrackPropagation_
Definition: TCMETAlgo.h:138
double hOverECut_
Definition: TCMETAlgo.h:130
bool closeToElectron(const reco::TrackRef)
Definition: TCMETAlgo.cc:495
double vertexMaxDZ_
Definition: TCMETAlgo.h:97
std::vector< int > duplicateTracks_
Definition: TCMETAlgo.h:104
double dupDPhi_
Definition: TCMETAlgo.h:102
double maxPtErr_
Definition: TCMETAlgo.h:122
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
double minpt_
Definition: TCMETAlgo.h:117
double minhits_tight_
Definition: TCMETAlgo.h:110
edm::InputTag inputTagPFClustersHFEM_
Definition: TCMETAlgo.h:88
int nExpectedInnerHits(const reco::TrackRef)
Definition: TCMETAlgo.cc:580
double maxd0cut_
Definition: TCMETAlgo.h:108
bool vetoDuplicates_
Definition: TCMETAlgo.h:100
bool isElectron(unsigned int)
Definition: TCMETAlgo.cc:619
double maxPtErr_tight_
Definition: TCMETAlgo.h:111