CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_9/src/TopQuarkAnalysis/TopEventSelection/interface/TtSemiLRSignalSelObservables.h

Go to the documentation of this file.
00001 #ifndef TtSemiLRSignalSelObservables_h
00002 #define TtSemiLRSignalSelObservables_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 "TVector3.h"
00016 #include "TVectorD.h"
00017 
00018 #include "TMatrix.h"
00019 #include "TMatrixDSymEigen.h"
00020 #include "TMatrixDSym.h"
00021 #include "TMatrixTSym.h"
00022 
00023 #include "AnalysisDataFormats/TopObjects/interface/TtSemiEvtSolution.h"
00024 #include "TopQuarkAnalysis/TopTools/interface/MEzCalculator.h"
00025 #include "DataFormats/PatCandidates/interface/Jet.h"
00026 
00027 const double PI=3.14159265;
00028 
00029 class TtSemiLRSignalSelObservables{
00030   
00031  public:
00032   
00033   TtSemiLRSignalSelObservables();
00034   ~TtSemiLRSignalSelObservables();      
00035   
00036   void  operator()(TtSemiEvtSolution&, const std::vector<pat::Jet>&);
00037   
00038  private:
00039   
00040   std::vector<std::pair<unsigned int,double> > evtselectVarVal;
00041   
00042   // compare two jets in ET
00043   struct CompareET {
00044     bool operator()( pat::Jet j1, pat::Jet j2 ) const
00045     {
00046       return j1.et() > j2.et();
00047     }
00048   };
00049   
00050   CompareET EtComparator;
00051   
00052   // compare two jets in bdisc
00053   struct CompareBdisc {
00054     bool operator()( pat::Jet j1, pat::Jet j2 ) const
00055     {
00056       return j1.bDiscriminator("trackCountingJetTags") > j2.bDiscriminator("trackCountingJetTags");
00057     }
00058   };
00059   
00060   CompareBdisc BdiscComparator;
00061   
00062   // compare two double
00063   struct CompareDouble {
00064     bool operator()( double j1, double j2 ) const
00065     {
00066       return j1 > j2 ;
00067     }
00068   };
00069   
00070   CompareDouble dComparator;
00071 };
00072 
00073 #endif