• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

/Users/jmonk/Physics/ForIA/ForIA/AnalysisTools/JetSelection.hh

Go to the documentation of this file.
00001 #ifndef FORIA_JETSELECTION_HH
00002 #define FORIA_JETSELECTION_HH
00003 
00004 #include "ForIA/Jet.hh"
00005 #include "ForIA/JetKey.hh"
00006 #include "ForIA/Event.hh"
00007 
00008 #include "ForIA/AnalysisTools/FourVectorSelection.hh"
00009 #include "ForIA/AnalysisTools/JESUncertaintyProvider.hh"
00010 #include "ForIA/AnalysisTools/JERProvider.hh"
00011 
00012 #include <ostream>
00013 
00014 namespace ForIA{
00015 
00016   class MessageBox;
00017   
00018   class JetSelection : public FourVectorSelection{
00019 
00020   public:
00021 
00022     JetSelection();
00023 
00024     const JetVector &acceptedJets() const;
00025 
00026     const JetVector &rejectedJets() const;
00027 
00028     enum DefinedSelection{LOOSE, MEDIUM, TIGHT};
00029 
00030     bool setSelection(DefinedSelection selection);
00031     void initialiseTools();
00032 
00033     // Set minimum E                                                                             
00034     bool setEMin(double e);
00035     // Set minimum ET
00036     bool setETMin(double et);
00037     // Set minimum ET                                              
00038     bool setPTMin(double pt);
00039     // Set minimum eta
00040     bool setEtaMin(double eta);
00041     // Set maximum eta
00042     bool setEtaMax(double eta);
00043     //Set minimum ET of jet1
00044     bool setETMinJet1(double et);
00045     //Set minimum ET of jet2
00046     bool setETMinJet2(double et);
00047     //Set minimum eta of jet1
00048     bool setEtaMinJet1(double eta);
00049     //Set maximum eta of jet1
00050     bool setEtaMaxJet1(double eta);
00051     //Set minimum eta of jet2
00052     bool setEtaMinJet2(double eta);
00053     //Set maximum eta of jet2
00054     bool setEtaMaxJet2(double eta);
00055     //Set delta phi
00056     bool setDeltaPhi(double dphi);
00057     //Set ration of jet2 ET to jet 1 ET
00058     bool setJet2ETOverJet1ET(double jet2ETOverjet1ET);
00059     //Set JESUncertainty
00060     bool setJESUncertCorr(int sign);
00061     //Set JERUncertainty
00062     bool setJERUncertCorr(bool jer);
00063 
00064 
00065   private:
00066    
00067     friend std::ostream &operator << (std::ostream &out, const JetSelection &selection);
00068     friend MessageBox &operator << (MessageBox &box, const JetSelection &selection);
00069 
00070     void fillVectors() const;
00071 
00072     JetKey m_jetAlgKey;    
00073     mutable JetVector m_acceptedJets;
00074     mutable JetVector m_rejectedJets;
00075 
00076 
00077     double          m_eMin;
00078     double          m_etMin;
00079     double          m_ptMin;
00080     double          m_etaMin;
00081     double          m_etaMax;
00082     double          m_etMinJet1;
00083     double          m_etMinJet2;
00084     double          m_etaMinJet1;
00085     double          m_etaMaxJet1;
00086     double          m_etaMinJet2;
00087     double          m_etaMaxJet2;
00088     double          m_deltaPhi;
00089     double          m_jet2ETOverjet1ET;
00090     int             m_sign;
00091     
00092     bool m_haveSeteMin;
00093     bool m_haveSetetMin;
00094     bool m_haveSetptMin;
00095     bool m_haveSetetaMin;
00096     bool m_haveSetetaMax;
00097 
00098     bool m_haveSetetMinJet1;
00099     bool m_haveSetetMinJet2;
00100     bool m_haveSetetaMinJet1;
00101     bool m_haveSetetaMaxJet1;
00102     bool m_haveSetetaMinJet2;
00103     bool m_haveSetetaMaxJet2;
00104     bool m_haveSetDeltaPhi;
00105     bool m_haveSetJet2ETOverJet1ET;
00106     bool m_haveSetApplyJESUncertCorr;
00107     bool m_haveSetApplyJERUncertCorr;
00108 
00109     JESUncertaintyProvider *m_JESTool;
00110     JERProvider *m_JERTool;
00111 
00112   };
00113 
00114 }
00115 
00116 #endif

Generated on Mon Jul 30 2012 16:56:35 for ForIA by  doxygen 1.7.2