![]() |
|
|||
File indexing completed on 2024-04-06 12:26:40
0001 #ifndef SIGMET_ASIGNIFICANCE_H 0002 #define SIGMET_ASIGNIFICANCE_H 0003 // -*- C++ -*- 0004 // 0005 // Package: METAlgorithms 0006 // Class: SigInputObj 0007 // 0008 /**\class METSignificance SigInputObj.h RecoMET/METAlgorithms/include/SigInputObj.h 0009 0010 Description: <one line class summary> 0011 0012 Implementation: 0013 0014 Purpose: 0015 0016 This subroutine takes in a vector of type SigInputObj that includes 0017 all of the physics objects in the event. It then calculates 0018 the log significance of the MET of the event. 0019 0020 The Significance (S) is defined as: 0021 ln(S) = 1/2 Chisq_0 0022 where Chisq_0 is the value of Chi squared at MET=0. 0023 0024 */ 0025 // 0026 // Original Author: Kyle Story, Freya Blekman (Cornell University) 0027 // Created: Fri Apr 18 11:58:33 CEST 2008 0028 // 0029 // 0030 0031 // 0032 // Purpose: 0033 // 0034 // This subroutine takes in a vector of type SigInputObj that includes 0035 // all of the physics objects in the event. It then calculates 0036 // the log significance of the MET of the event. 0037 // 0038 // The Significance (S) is defined as: 0039 // ln(S) = 1/2 Chisq_0 0040 // where Chisq_0 is the value of Chi squared at MET=0. 0041 // 0042 // 0043 // 0044 // Revision history 0045 // 0046 // Revision 1.2 2009/10/21 11:27:11 fblekman 0047 // merged version with cvs head - includes new interfaces for MET significance to make it possible to correct MET objects later and also correct the signficance. 0048 // 0049 // Revision 1.1 2008/04/18 10:12:55 fblekman 0050 // First implementation (very preliminary) of missing ET significance algorithm. 0051 // This code is currently still heavily under development so please bear with us. 0052 // 0053 // cheers, 0054 // 0055 // Freya (for the Cornell MET significance group) 0056 // 0057 // Revision 1.2 2008/03/26 17:52:19 kstory 0058 // Tower Based Algorithm. significanceAlgo now using matrix operations. 0059 // 0060 // Revision 1.1.1.1 2008/02/29 22:25:02 kstory 0061 // Tower-Based Algorithm 0062 // 0063 // Revision 1.2 2008/02/13 13:14:37 fblekman 0064 // updated version with electrons 0065 // 0066 // Revision 1.3 2007/12/07 00:20:10 kstory 0067 // MET phi was changed to have a range of [-pi, pi] 0068 // 0069 // Revision 1.2 2007/11/30 22:02:33 kstory 0070 // Changed the arguments to allow calculation of the total MET and the MET_phi. 0071 // 0072 // 0073 0074 #include <vector> 0075 #include <string> 0076 #include <iostream> 0077 #include <sstream> 0078 0079 #include "DataFormats/METReco/interface/SigInputObj.h" 0080 #include "DataFormats/METReco/interface/MET.h" 0081 #include "TMatrixTBase.h" 0082 #include "TMatrixD.h" 0083 #include "TVectorD.h" 0084 0085 namespace metsig { 0086 class significanceAlgo { 0087 public: 0088 significanceAlgo(); 0089 ~significanceAlgo(); 0090 0091 const void addSignifMatrix(const reco::METCovMatrix& input); 0092 const void setSignifMatrix(const reco::METCovMatrix& input, 0093 const double& met_r, 0094 const double& met_phi, 0095 const double& met_set); 0096 const double significance(double& met_r, double& met_phi, double& met_set); 0097 const void addObjects(const std::vector<metsig::SigInputObj>& EventVec); 0098 const void subtractObjects(const std::vector<metsig::SigInputObj>& EventVec); 0099 reco::METCovMatrix getSignifMatrix() const { return signifmatrix_; } 0100 // const std::vector<metsig::SigInputObj> eventVec(){return eventVec_;} 0101 private: 0102 //void rotateMatrix( Double_t theta, reco::METCovMatrix &v); 0103 0104 // std::vector<metsig::SigInputObj> eventVec_; 0105 reco::METCovMatrix signifmatrix_; 0106 // workers: 0107 double set_worker_; 0108 double xmet_; 0109 double ymet_; 0110 }; 0111 } // namespace metsig 0112 0113 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |