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

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

Go to the documentation of this file.
00001 #ifndef FORIA_VERTEXCUTS_HH
00002 #define FORIA_VERTEXCUTS_HH
00003 
00004 #include "ForIA/Vertex.hh"
00005 
00006 #include "ForIA/AnalysisTools/IVertexCuts.hh"
00007 
00008 #include <ostream>
00009 
00010 namespace ForIA {
00011 
00012   class Event;
00013   class MessageBox;
00014   
00015   class VertexCuts : public IVertexCuts{
00016     
00017   public:
00018     
00019     VertexCuts();
00020     
00021     bool setEvent(const Event &evt);
00022     
00023     bool doPileUpCut(bool pileUpCut);
00024     bool setNTracksForPrimaryVertex(int nTracks);
00025     bool setNTracksForPileUpVertex(int nTracks);
00026     bool setRequirePrimary(bool require);
00027     
00028     bool passesCuts() const;
00029     
00030     const VertexVector &goodVertices()const;
00031     
00032   private:
00033     
00034     friend std::ostream &operator << (std::ostream &out, const VertexCuts &cuts);
00035     friend MessageBox &operator <<(MessageBox &box, const VertexCuts &cuts);
00036     
00037     bool m_pileUpCut;
00038     bool m_requirePrimary;
00039     int m_nTracksForPrimary;
00040     int m_nTracksForPileUp;
00041     
00042     bool m_canSetCuts;
00043     
00044     bool m_haveSetPileUpCut;
00045     bool m_haveSetRequirePrimary;
00046     bool m_haveSetNTracksForPrimary;
00047     bool m_haveSetNTracksForPileUp;
00048     
00049     VertexVector m_goodVertices;
00050     bool m_gotPrimary;
00051     
00052     mutable bool m_passes;
00053     mutable bool m_gotPasses;
00054     
00055   };
00056 }
00057 
00058 #endif

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