KIsolator.h

Go to the documentation of this file.
00001 // ================================================
00002 // KIsolator class description
00003 // KIsolator is Kambiz's version of Isolator modified for use
00004 // with FastShower generated cells.
00005 // ================================================
00006 //
00007 // THIS TEXT TO BE REPLACED BY ATLAS STANDARD FORMAT
00008 //
00009 //
00010 // This version....
00011 //
00012 //
00013 // Namespace Atlfast::
00014 //
00015 // class: KIsolator
00016 //
00017 // Description: 
00018 //
00019 //  Algorithm which knows how to test particles for isolation
00020 //
00021 //
00022 // ................................................................
00023 //
00024 
00025 
00026 #ifndef ATLFAST_KISOLATOR_H
00027 #define ATLFAST_KISOLATOR_H
00028 
00029 // STL
00030 #include <string>
00031 #include <vector>
00032 
00033 // Gaudi 
00034 #include "GaudiKernel/ISvcLocator.h"
00035 #include "GaudiKernel/IAlgorithm.h"
00036 #include "GaudiKernel/Algorithm.h"
00037 #include "GaudiKernel/MsgStream.h"
00038 //#include "GaudiKernel/DataObject.h"
00039 //#include "GaudiKernel/ObjectVector.h"
00040 // Other
00041 #include "HepMC/GenParticle.h"
00042 
00043 // Atlfast
00044 #include "AtlfastEvent/ReconstructedParticle.h"
00045 //#include "AtlfastEvent/ReconstructedParticleCollection.h"
00046 #include "AtlfastEvent/CollectionDefs.h"
00047 #include "AtlfastEvent/ITwoCptCell.h"
00048 #include "AtlfastEvent/ICluster.h"
00049 
00050 #ifndef ATLFAST_COLLECTIONDEFS_H
00051 #include "AtlfastEvent/CollectionDefs.h"
00052 #endif
00053 
00054 #include "AtlfastEvent/IKinematic.h"
00055 #include "AtlfastUtils/KinematicHelper.h"
00056 #include "AtlfastUtils/TesIO.h"
00057 
00058 
00059 //***************************************************************
00060 //                 KIsolator class declaration
00061 //
00062 //****************************************************************
00063 
00064 
00065 namespace Atlfast {
00066   using std::string;
00067   
00084   class KIsolator : public Algorithm {
00085     
00086   public:
00087     
00089     KIsolator( const std::string& name, ISvcLocator* pSvcLocator ) ; 
00090     
00092     virtual ~KIsolator();
00093     
00094 
00096     StatusCode initialize() ;
00098     StatusCode execute() ;
00100     StatusCode finalize() ;
00101     
00102     
00103     
00104   private:
00105     
00106     //---------------------------------------------------
00107     // Parameters of this algorithm 
00108     //---------------------------------------------------
00109     
00111     double        m_rClusterMatch;   
00112     
00114     double        m_rClusterIsolation;     
00115     
00117     double        m_eClusterIsolation;     
00118     
00120     double        m_rCellIsolation;     
00121     
00123     double        m_eCellIsolation;     
00124     
00126     std::string   m_inputLocation ;
00127     
00129     std::string   m_isolatedOutputLocation ;
00131     std::string   m_nonIsolatedOutputLocation ;
00132     
00134     std::string   m_cellLocation ;
00136     std::string   m_clusterLocation ;
00137     
00138     
00140     TesIO* m_tesIO;
00141 
00143     std::string m_mcLocation;
00144 
00145 
00146     //-------------------------------
00147     // Objects used by this class to do its job
00148     //-------------------------------
00149     
00150     // Encapsulates common operations on IKinematic types
00151     KinematicHelper m_kinehelp ; 
00152     HepMC_helper::IMCselector* m_visibleToCal;
00153     
00154     //-------------------------------
00155     // Private methods
00156     //-------------------------------
00157 
00158     // transition region effect (from FastShower)
00159     double gapResponse(double eta);
00160     
00163     bool isIsolated( 
00164                     MsgStream&, 
00165                     ReconstructedParticleCollection::const_iterator,
00166                     std::vector<ITwoCptCell*>& , 
00167                     std::vector<ICluster*>&  
00168                     );
00169     
00170   };
00171   
00172 } // end of namespace bracket
00173 
00174 
00175 #endif

Generated on Mon Sep 24 14:19:10 2007 for AtlfastAlgs by  doxygen 1.5.1