Back to home page

Project CMSSW displayed by LXR

 
 

    


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