Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:15

0001 #ifndef TtSemiLRSignalSelObservables_h
0002 #define TtSemiLRSignalSelObservables_h
0003 
0004 #include "FWCore/Framework/interface/EventSetup.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0007 #include "FWCore/Utilities/interface/Exception.h"
0008 
0009 #include <iostream>
0010 #include <string>
0011 #include <vector>
0012 
0013 #include "TLorentzVector.h"
0014 #include "TVector.h"
0015 #include "TVector3.h"
0016 #include "TVectorD.h"
0017 
0018 #include "TMatrix.h"
0019 #include "TMatrixDSymEigen.h"
0020 #include "TMatrixDSym.h"
0021 #include "TMatrixTSym.h"
0022 
0023 #include "AnalysisDataFormats/TopObjects/interface/TtSemiEvtSolution.h"
0024 #include "TopQuarkAnalysis/TopTools/interface/MEzCalculator.h"
0025 #include "DataFormats/PatCandidates/interface/Jet.h"
0026 
0027 const double PI = 3.14159265;
0028 
0029 class TtSemiLRSignalSelObservables {
0030 public:
0031   TtSemiLRSignalSelObservables();
0032   ~TtSemiLRSignalSelObservables();
0033 
0034   void operator()(TtSemiEvtSolution&, const std::vector<pat::Jet>&);
0035 
0036 private:
0037   std::vector<std::pair<unsigned int, double> > evtselectVarVal;
0038 
0039   // compare two jets in ET
0040   struct CompareET {
0041     bool operator()(const pat::Jet& j1, const pat::Jet& j2) const { return j1.et() > j2.et(); }
0042   };
0043 
0044   CompareET EtComparator;
0045 
0046   // compare two jets in bdisc
0047   struct CompareBdisc {
0048     bool operator()(const pat::Jet& j1, const pat::Jet& j2) const {
0049       return j1.bDiscriminator("trackCountingJetTags") > j2.bDiscriminator("trackCountingJetTags");
0050     }
0051   };
0052 
0053   CompareBdisc BdiscComparator;
0054 
0055   // compare two double
0056   struct CompareDouble {
0057     bool operator()(double j1, double j2) const { return j1 > j2; }
0058   };
0059 
0060   CompareDouble dComparator;
0061 };
0062 
0063 #endif