Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

CellHistogramMaker2.h

Go to the documentation of this file.
00001 // ================================================
00002 //CellHistogramMaker2 class description
00003 // ================================================
00004 //
00005 // THIS TEXT TO BE REPLACED BY ATLAS ReconstructedParticle FORMAT
00006 //
00007 //
00008 // This version....
00009 //
00010 //
00011 // Namespace Atlfast::
00012 //
00013 // class: CellHistogramMaker2
00014 //
00015 // Description: 
00016 //
00017 //  Algorithm which makes debug histograms CellMaker
00018 //
00019 //
00020 // ................................................................
00021 //
00022 
00023 #ifndef ATLFAST_CELLHISTOGRAMMAKER2_H
00024 #define ATLFAST_CELLHISTOGRAMMAKER2_H
00025 
00026 // STL
00027 #include <vector>
00028 #include <string>
00029 
00030 // Gaudi 
00031 #include "GaudiKernel/ISvcLocator.h"
00032 #include "GaudiKernel/Algorithm.h"
00033 #include "GaudiKernel/MsgStream.h"
00034 #include "GaudiKernel/DataObject.h"
00035 
00036 class IHistogram1D;  // forward declaration
00037 
00038 // Other
00039 #include "CLHEP/Vector/LorentzVector.h"
00040 #include "HepMC/GenEvent.h"
00041 #include "HepMC/GenParticle.h"
00042 
00043 // Atlfast
00044 //#include "AtlfastCode/CellMaker.h"
00045 #include "AtlfastCode/Cell.h"
00046 #include "AtlfastCode/TesIO.h"
00047 
00048 
00049 //*****************************************
00050 // Default paths in the Transient event store to get/put entities
00051 //
00052 //[Note:  This will change as the current system is not considered acceptable.]
00053 //******************************************
00054 
00055 //places to look in the TES
00056 #define DEFAULT_inputLocation          "/Event/AtlfastCells" 
00057 #define DEFAULT_mcTruthLocation        "/Event/McEventCollection"
00058 
00059 
00060 //which flavour of reconstructed particles are we looking at?
00061 #define DEFAULT_particleType            11
00062 
00063 //offset of histogram numbers
00064 #define DEFAULT_histStart 0
00065 
00066 //prefix to histogram titles
00067 #define DEFAULT_histTitle "Cells "
00068 
00069 
00070 
00071  
00072 namespace Atlfast {
00076 class CellHistogramMaker2 : public Algorithm{
00077 
00078  public:
00079 
00080   //-------------------------
00081   // Constructors/Destructors
00082   //
00083   // Gaudi requires that the constructor takes certain arguments
00084   // (and passes them directly to the constructor of the base class)
00085   //-------------------------
00087   CellHistogramMaker2( const std::string& name, ISvcLocator* pSvcLocator ) ;
00089   ~CellHistogramMaker2();
00090   
00091 
00092   //------------------------------------------------------
00093   // Methods used by Gaudi to run the algorithm
00094   //------------------------------------------------------
00096   StatusCode initialize() ;
00098   StatusCode execute() ;
00100   StatusCode finalize() ;
00101   
00102 
00103 
00104  private:
00105   
00106   TesIO* m_tesIO;
00107   
00108   //-------------------------------
00109   // Private methods
00110   //-------------------------------
00111   
00115   void book(std::vector<IHistogram1D*> & start, const std::string title, const int nbins, const double xmin, double xmax);
00119   void sbook(const std::string title, const int nbins, const double xmin, double xmax);
00123   void fill(std::vector<IHistogram1D*> & start, const double rec, const double tru);
00127   void sfill(const double rec);
00128   
00129   // the following data members tell the
00130   // algorithm where to retrieve its input particles from
00131   // in the TES. These are written by the job Options service.
00135   std::string m_inputLocation;
00139   std::string m_mcTruthLocation;
00140   
00141 
00142   
00143   // The following are the actual histograms
00144   // htp has added his own naming convention here
00145   // m_h_ means a histogram!
00146   
00148   IHistogram1D* m_h_phipart ;
00150   IHistogram1D* m_h_phicell ;
00152   IHistogram1D* m_h_etapart ;
00154   IHistogram1D* m_h_etacell ;
00155   
00157   IHistogram1D* m_h_phidiff_negEC ;
00159   IHistogram1D* m_h_etadiff_negEC ;
00160   
00162   IHistogram1D* m_h_phidiff_Bar ;
00164   IHistogram1D* m_h_etadiff_Bar ;
00165   
00167   IHistogram1D* m_h_phidiff_posEC ;
00169   IHistogram1D* m_h_etadiff_posEC ;
00170   
00172   IHistogram1D* m_h_etadiff ;
00173   
00174  
00176   int m_histStart;
00178   int m_nHist;
00179 
00181   int m_particleType ;
00182 
00184   std::string m_histTitle ;
00185 
00186 };
00187 
00188 
00189 } // end of namespace bracket
00190 
00191 #endif
00192 
00193 
00194 
00195 
00196 
00197 
00198 
00199 
00200 
00201 
00202 
00203 
00204 

Generated on Mon Feb 4 15:54:23 2002 for Atlfast by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001