CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/TopQuarkAnalysis/TopEventSelection/interface/TtHadLRSignalSelObservables.h

Go to the documentation of this file.
00001 #ifndef TtHadLRSignalSelObservables_h
00002 #define TtHadLRSignalSelObservables_h
00003 
00004 #include "FWCore/Framework/interface/EventSetup.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00007 #include "FWCore/Utilities/interface/Exception.h"
00008 
00009 #include <iostream>
00010 #include <string>
00011 #include <vector>
00012 
00013 #include "TLorentzVector.h"
00014 #include "TVector.h"
00015 #include "TVectorD.h"
00016 #include "TMatrix.h"
00017 #include "TMatrixDSymEigen.h"
00018 #include "TMatrixDSym.h"
00019 #include "TMatrixTSym.h"
00020 
00021 #include "AnalysisDataFormats/TopObjects/interface/TtHadEvtSolution.h"
00022 #include "DataFormats/PatCandidates/interface/Jet.h"
00023 
00024 const double PI=3.14159265;
00025 
00026 class TtHadLRSignalSelObservables{
00027   
00028  public:
00029   
00030   TtHadLRSignalSelObservables();
00031   ~TtHadLRSignalSelObservables();       
00032   
00033   void  operator()(TtHadEvtSolution&);
00034   
00035  private:
00036   
00037   // compare two jets in ET
00038   struct CompareET {
00039     bool operator()( pat::Jet j1, pat::Jet j2 ) const
00040     {
00041       return j1.et() > j2.et();
00042     }
00043   };
00044   
00045   CompareET EtComparator;
00046   
00047   // compare two jets in bdisc
00048   struct CompareBdisc {
00049     bool operator()( pat::Jet j1, pat::Jet j2 ) const
00050     {
00051       return j1.bDiscriminator("trackCountingJetTags") > j2.bDiscriminator("trackCountingJetTags");
00052     }
00053   };
00054   
00055   CompareBdisc BdiscComparator;
00056   
00057   // compare two double
00058   struct CompareDouble {
00059     bool operator()( double j1, double j2 ) const
00060     {
00061       return j1 > j2 ;
00062     }
00063   };
00064   
00065   CompareDouble dComparator;
00066   
00067   std::vector<std::pair<unsigned int,double> > evtselectVarVal;
00068   
00069 };
00070 
00071 #endif