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"
49 
50 class TCMETAlgo
51 {
52  public:
53  typedef std::vector<const reco::Candidate> InputCollection;
54  TCMETAlgo();
55  virtual ~TCMETAlgo();
57  TH2D* getResponseFunction_fit ( );
58  TH2D* getResponseFunction_mode ( );
61  void configure(const edm::ParameterSet &iConfig, int myResponseFunctionType);
62  private:
63  double met_x;
64  double met_y;
65  double sumEt;
66 
73 
76 
83 
86 
91 
93  int nLayers_;
96  double vertexZ_;
97  double vertexRho_;
98  double vertexMaxDZ_;
99  double maxpt_eta25_;
100  double maxpt_eta20_;
102  double dupMinPt_;
103  double dupDPhi_;
104  double dupDCotTh_;
105  std::vector<int> duplicateTracks_;
106 
107  double d0cuta_;
108  double d0cutb_;
109  double maxd0cut_;
113  int rfType_;
118  double minpt_;
119  double maxpt_;
120  double maxeta_;
121  double maxchi2_;
122  double minhits_;
123  double maxPtErr_;
124  double radius_;
125  double zdist_;
126  double corner_;
127  double eVetoDeltaR_;
131  double hOverECut_;
132  std::vector<int> trkQuality_;
133  std::vector<int> trkAlgos_;
134 
140 
141  const class MagneticField* bField;
142 
143  class TH2D* response_function;
144  class TH2D* showerRF;
147 
150 
151  bool isMuon( unsigned int );
152  bool isElectron( unsigned int );
153  bool isGoodTrack( const reco::TrackRef , int trk_idx );
154  bool closeToElectron( const reco::TrackRef );
155  void correctMETforMuon( const reco::TrackRef, const unsigned int );
156  void correctSumEtForMuon( const reco::TrackRef, const unsigned int );
157  void correctMETforMuon( const unsigned int );
158  void correctSumEtForMuon( const unsigned int );
159  void correctMETforTrack( const reco::TrackRef , TH2D* rf, const TVector3 );
160  void correctSumEtForTrack( const reco::TrackRef , TH2D* rf, const TVector3 );
161  class TVector3 propagateTrack( const reco::TrackRef );
162  class TVector3 propagateTrackToHCAL( const reco::TrackRef );
163  void findGoodShowerTracks(std::vector<int>& goodShowerTracks);
164  bool nearGoodShowerTrack( const reco::TrackRef , std::vector<int> goodShowerTracks );
165  int nExpectedInnerHits(const reco::TrackRef);
166  int nExpectedOuterHits(const reco::TrackRef);
167  int nLayers(const reco::TrackRef);
168  bool isValidVertex();
169  void findDuplicateTracks();
170  int vetoTrack( int i1 , int i2 );
171 };
172 
173 #endif // TCMETAlgo_h
174 
edm::InputTag muonInputTag_
Definition: TCMETAlgo.h:77
double zdist_
Definition: TCMETAlgo.h:125
bool hasValidVertex
Definition: TCMETAlgo.h:145
edm::ValueMap< reco::MuonMETCorrectionData > muon_data
Definition: TCMETAlgo.h:148
edm::InputTag vertexInputTag_
Definition: TCMETAlgo.h:82
reco::MET CalculateTCMET(edm::Event &event, const edm::EventSetup &setup)
Definition: TCMETAlgo.cc:161
double eVetoDeltaPhi_
Definition: TCMETAlgo.h:128
bool nearGoodShowerTrack(const reco::TrackRef, std::vector< int > goodShowerTracks)
Definition: TCMETAlgo.cc:531
TH2D * getResponseFunction_fit()
Definition: TCMETAlgo.cc:3651
TH2D * getResponseFunction_noshower()
Definition: TCMETAlgo.cc:2276
edm::InputTag inputTagPFClustersECAL_
Definition: TCMETAlgo.h:87
edm::Handle< edm::View< reco::MET > > metHandle
Definition: TCMETAlgo.h:69
int rfType_
Definition: TCMETAlgo.h:113
edm::InputTag trackInputTag_
Definition: TCMETAlgo.h:80
int nLayers(const reco::TrackRef)
Definition: TCMETAlgo.cc:596
class MagneticField * bField
Definition: TCMETAlgo.h:141
edm::InputTag tcmetDepValueMap_
Definition: TCMETAlgo.h:85
double vertexRho_
Definition: TCMETAlgo.h:97
double dupDCotTh_
Definition: TCMETAlgo.h:104
double dupMinPt_
Definition: TCMETAlgo.h:102
edm::Handle< edm::ValueMap< reco::MuonMETCorrectionData > > muon_data_h
Definition: TCMETAlgo.h:74
edm::InputTag muonDepValueMap_
Definition: TCMETAlgo.h:84
int vertexNdof_
Definition: TCMETAlgo.h:95
void correctMETforMuon(const reco::TrackRef, const unsigned int)
Definition: TCMETAlgo.cc:738
edm::InputTag metInputTag_
Definition: TCMETAlgo.h:79
class TH2D * response_function
Definition: TCMETAlgo.h:143
double corner_
Definition: TCMETAlgo.h:126
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
double eVetoDeltaR_
Definition: TCMETAlgo.h:127
bool usePFClusters_
Definition: TCMETAlgo.h:92
int nExpectedOuterHits(const reco::TrackRef)
Definition: TCMETAlgo.cc:589
bool usePvtxd0_
Definition: TCMETAlgo.h:138
double met_x
Definition: TCMETAlgo.h:63
edm::InputTag electronInputTag_
Definition: TCMETAlgo.h:78
edm::InputTag inputTagPFClustersHFHAD_
Definition: TCMETAlgo.h:90
double maxpt_eta25_
Definition: TCMETAlgo.h:99
TH2D * getResponseFunction_shower()
Definition: TCMETAlgo.cc:901
bool electronVetoCone_
Definition: TCMETAlgo.h:137
double maxpt_eta20_
Definition: TCMETAlgo.h:100
double eVetoMinElectronPt_
Definition: TCMETAlgo.h:130
double vertexZ_
Definition: TCMETAlgo.h:96
void findGoodShowerTracks(std::vector< int > &goodShowerTracks)
Definition: TCMETAlgo.cc:553
double maxeta_
Definition: TCMETAlgo.h:120
edm::Handle< reco::VertexCollection > VertexHandle
Definition: TCMETAlgo.h:72
void correctSumEtForMuon(const reco::TrackRef, const unsigned int)
Definition: TCMETAlgo.cc:768
int maxTrackAlgo_
Definition: TCMETAlgo.h:115
bool isValidVertex()
Definition: TCMETAlgo.cc:484
int nLayers_
Definition: TCMETAlgo.h:93
bool isMuon(unsigned int)
Definition: TCMETAlgo.cc:604
bool correctShowerTracks_
Definition: TCMETAlgo.h:136
void findDuplicateTracks()
Definition: TCMETAlgo.cc:428
double d0cuta_
Definition: TCMETAlgo.h:107
std::vector< const reco::Candidate > InputCollection
Definition: TCMETAlgo.h:53
bool isGoodTrack(const reco::TrackRef, int trk_idx)
Definition: TCMETAlgo.cc:641
std::vector< int > trkQuality_
Definition: TCMETAlgo.h:132
double d0cutb_
Definition: TCMETAlgo.h:108
Definition: MET.h:32
double met_y
Definition: TCMETAlgo.h:64
double sumEt
Definition: TCMETAlgo.h:65
double radius_
Definition: TCMETAlgo.h:124
double maxchi2_tight_
Definition: TCMETAlgo.h:110
TH2D * getResponseFunction_mode()
Definition: TCMETAlgo.cc:5125
class TH2D * showerRF
Definition: TCMETAlgo.h:144
double usedeltaRRejection_
Definition: TCMETAlgo.h:116
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:68
std::vector< int > trkAlgos_
Definition: TCMETAlgo.h:133
class TVector3 propagateTrack(const reco::TrackRef)
Definition: TCMETAlgo.cc:853
edm::Handle< reco::TrackCollection > TrackHandle
Definition: TCMETAlgo.h:70
edm::ValueMap< reco::MuonMETCorrectionData > tcmet_data
Definition: TCMETAlgo.h:149
void correctSumEtForTrack(const reco::TrackRef, TH2D *rf, const TVector3)
Definition: TCMETAlgo.cc:829
double minhits_
Definition: TCMETAlgo.h:122
double deltaRShower_
Definition: TCMETAlgo.h:117
int nLayersTight_
Definition: TCMETAlgo.h:94
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
Definition: TrackFwd.h:14
double maxpt_
Definition: TCMETAlgo.h:119
int nMinOuterHits_
Definition: TCMETAlgo.h:114
double eVetoDeltaCotTheta_
Definition: TCMETAlgo.h:129
string const
Definition: compareJSON.py:14
virtual ~TCMETAlgo()
Definition: TCMETAlgo.cc:155
int vetoTrack(int i1, int i2)
Definition: TCMETAlgo.cc:466
edm::InputTag beamSpotInputTag_
Definition: TCMETAlgo.h:81
edm::Handle< reco::BeamSpot > beamSpotHandle
Definition: TCMETAlgo.h:71
double maxchi2_
Definition: TCMETAlgo.h:121
bool isCosmics_
Definition: TCMETAlgo.h:135
class TVector3 propagateTrackToHCAL(const reco::TrackRef)
const reco::VertexCollection * vertexColl
Definition: TCMETAlgo.h:146
void correctMETforTrack(const reco::TrackRef, TH2D *rf, const TVector3)
Definition: TCMETAlgo.cc:796
edm::Handle< edm::ValueMap< reco::MuonMETCorrectionData > > tcmet_data_h
Definition: TCMETAlgo.h:75
edm::InputTag inputTagPFClustersHCAL_
Definition: TCMETAlgo.h:88
edm::Handle< reco::MuonCollection > MuonHandle
Definition: TCMETAlgo.h:67
bool checkTrackPropagation_
Definition: TCMETAlgo.h:139
double hOverECut_
Definition: TCMETAlgo.h:131
bool closeToElectron(const reco::TrackRef)
Definition: TCMETAlgo.cc:497
double vertexMaxDZ_
Definition: TCMETAlgo.h:98
std::vector< int > duplicateTracks_
Definition: TCMETAlgo.h:105
double dupDPhi_
Definition: TCMETAlgo.h:103
double maxPtErr_
Definition: TCMETAlgo.h:123
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
double minpt_
Definition: TCMETAlgo.h:118
double minhits_tight_
Definition: TCMETAlgo.h:111
edm::InputTag inputTagPFClustersHFEM_
Definition: TCMETAlgo.h:89
int nExpectedInnerHits(const reco::TrackRef)
Definition: TCMETAlgo.cc:582
double maxd0cut_
Definition: TCMETAlgo.h:109
bool vetoDuplicates_
Definition: TCMETAlgo.h:101
bool isElectron(unsigned int)
Definition: TCMETAlgo.cc:621
double maxPtErr_tight_
Definition: TCMETAlgo.h:112