TrackNtupleMaker.h

Go to the documentation of this file.
00001 //  ====================================================================
00002 //  TrackNtupleMaker.h
00003 //  --------------------------------------------------------------------
00004 //
00005 //  This is the header file for the TrackNtupleMaker class
00006 //  which creates the combined Ntuple based on a list of locations
00007 //  in the TES
00008 //
00009 //  It is based upon AtlfastSTLNtupAlg.h by E.Richter-Was
00010 //
00011 //  Author    : H.T.Phillips, P. Clarke, R. Steward, P. Sherwood, E. Richter-Was
00012 //
00013 //  ====================================================================
00014 #ifndef ATLFAST_TRACKNTUPLEMAKER_H
00015 #define ATLFAST_TRACKNTUPLEMAKER_H
00016 
00017 
00018 // places to look in the TES for input
00019 #include <string>
00020 
00021 // Framework include files
00022 #include "GaudiKernel/Algorithm.h"
00023 #include "GaudiKernel/NTuple.h"
00024 #include "AtlfastUtils/TesIO.h"
00025 
00026 namespace Atlfast {
00027   using std::string;
00028 
00029   class TrackNtupleMaker: public Algorithm {
00030   protected:
00031     // Items for the column wise n-tuple
00032     // Tracks
00033     NTuple::Item<long>    m_ntra;
00034     NTuple::Array<long>   m_kpTruth, m_kfTruth;
00035     NTuple::Array<long>   m_kpm1tra, m_kfm1tra;
00036     NTuple::Array<long>   m_kpm2tra, m_kfm2tra;
00037     NTuple::Array<long>   m_kpm3tra, m_kfm3tra;
00038     NTuple::Array<long>   m_kpm4tra, m_kfm4tra;
00039     NTuple::Array<long>   m_kpm5tra, m_kfm5tra;
00040     NTuple::Array<long>   m_kpm6tra, m_kfm6tra;
00041     NTuple::Array<float>  m_d0Track, m_z0Track, m_phiTrack, 
00042                           m_thetaTrack, m_pInvTrack, 
00043                           m_radiusTrack, m_curvTrack;
00044     NTuple::Array<float>  m_d0Truth, m_z0Truth, m_phiTruth,
00045                           m_thetaTruth, m_pInvTruth, 
00046                           m_radiusTruth, m_curvTruth;
00047     NTuple::Array<float>  m_corr11tra, m_corr12tra, m_corr13tra, m_corr14tra, m_corr15tra;
00048     NTuple::Array<float>  m_corr22tra, m_corr23tra, m_corr24tra, m_corr25tra;
00049     NTuple::Array<float>  m_corr33tra, m_corr34tra, m_corr35tra;
00050     NTuple::Array<float>  m_corr44tra, m_corr45tra, m_corr55tra;
00051     
00052     // Pointer to an ntuple
00053     NTuple::Tuple* p_nt1;
00054     
00055   public:
00057     TrackNtupleMaker(const std::string& name, ISvcLocator* pSvcLocator); 
00058     StatusCode initialize();
00059     StatusCode execute();
00060     StatusCode finalize();
00061     
00062   private:
00063     // Counters for event processing
00064     long   m_nEvents;                    // Number events processed
00065     TesIO* m_tesIO;
00066     //holds the Stotegate MC location
00067     std::string m_mcLocation;
00068     
00069     // member variables pointing to locations in the TES
00070     std::string m_trackLocation;
00071     
00072     //Default values
00073     static const std::string DEFAULT_trackLocation;
00074     
00075   };
00076   
00077 } // end of namespace bracket  
00078 
00079 #endif 

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