File indexing completed on 2024-04-06 12:31:15
0001 #ifndef TtHadLRSignalSelObservables_h
0002 #define TtHadLRSignalSelObservables_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 "TVectorD.h"
0016 #include "TMatrix.h"
0017 #include "TMatrixDSymEigen.h"
0018 #include "TMatrixDSym.h"
0019 #include "TMatrixTSym.h"
0020
0021 #include "AnalysisDataFormats/TopObjects/interface/TtHadEvtSolution.h"
0022 #include "DataFormats/PatCandidates/interface/Jet.h"
0023
0024 const double PI = 3.14159265;
0025
0026 class TtHadLRSignalSelObservables {
0027 public:
0028 TtHadLRSignalSelObservables();
0029 ~TtHadLRSignalSelObservables();
0030
0031 void operator()(TtHadEvtSolution&);
0032
0033 private:
0034
0035 struct CompareET {
0036 bool operator()(const pat::Jet& j1, const pat::Jet& j2) const { return j1.et() > j2.et(); }
0037 };
0038
0039 CompareET EtComparator;
0040
0041
0042 struct CompareBdisc {
0043 bool operator()(const pat::Jet& j1, const pat::Jet& j2) const {
0044 return j1.bDiscriminator("trackCountingJetTags") > j2.bDiscriminator("trackCountingJetTags");
0045 }
0046 };
0047
0048 CompareBdisc BdiscComparator;
0049
0050
0051 struct CompareDouble {
0052 bool operator()(double j1, double j2) const { return j1 > j2; }
0053 };
0054
0055 CompareDouble dComparator;
0056
0057 std::vector<std::pair<unsigned int, double> > evtselectVarVal;
0058 };
0059
0060 #endif