File indexing completed on 2024-04-06 12:31:15
0001 #ifndef TtDilepLRSignalSelObservables_h
0002 #define TtDilepLRSignalSelObservables_h
0003
0004 #include "FWCore/Framework/interface/EventSetup.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/ConsumesCollector.h"
0007 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0008 #include "FWCore/Utilities/interface/Exception.h"
0009
0010 #include <iostream>
0011 #include <string>
0012 #include <vector>
0013
0014 #include "AnalysisDataFormats/TopObjects/interface/TtDilepEvtSolution.h"
0015
0016 class TtDilepLRSignalSelObservables {
0017 public:
0018 TtDilepLRSignalSelObservables(edm::ConsumesCollector&& iC,
0019 const edm::EDGetTokenT<std::vector<pat::Jet> >& jetSourceToken);
0020 ~TtDilepLRSignalSelObservables();
0021
0022 typedef std::pair<unsigned int, bool> IntBoolPair;
0023 std::vector<IntBoolPair> operator()(TtDilepEvtSolution&, const edm::Event& iEvent, bool matchOnly = false);
0024
0025 private:
0026 typedef std::pair<unsigned int, double> IntDblPair;
0027
0028 double delta(double phi1, double phi2);
0029 void fillMinMax(double v1,
0030 double v2,
0031 int obsNbr,
0032 std::vector<IntDblPair>& varList,
0033 bool match1,
0034 bool match2,
0035 std::vector<IntBoolPair>& matchList);
0036
0037 edm::EDGetTokenT<std::vector<pat::Jet> > jetSourceToken_;
0038 edm::EDGetTokenT<TtGenEvent> genEvtToken_;
0039
0040 std::vector<IntDblPair> evtselectVarVal;
0041 std::vector<IntBoolPair> evtselectVarMatch;
0042 int count1, count2, count3, count4, count5;
0043 };
0044
0045 #endif