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

TkrNtupleAlg.h

Go to the documentation of this file.
00001 #ifndef TkrNtupleAlg_h
00002 #define TkrNtupleAlg_h
00003 
00004 #include "GaudiKernel/Algorithm.h"
00005 #include "GaudiKernel/MsgStream.h"
00006 #include "GaudiKernel/AlgFactory.h"
00007 #include "GaudiKernel/IDataProviderSvc.h"
00008 #include "GaudiKernel/SmartDataPtr.h"
00009 #include "GlastSvc/GlastDetSvc/IGlastDetSvc.h"
00010 #include "ntupleWriterSvc/INTupleWriterSvc.h"
00011 
00012 #include "TkrRecon/SiClusters.h"
00013 #include "TkrRecon/SiRecObjs.h"
00014 
00015 //###############################
00016 class TkrNtupleAlg : public Algorithm
00017 //###############################
00018 {
00019 public:
00020         
00022 
00024 
00025         TkrNtupleAlg(const std::string& name, ISvcLocator* pSvcLocator);
00026 
00028         virtual ~TkrNtupleAlg() {}
00029 
00031         StatusCode initialize();
00033         StatusCode execute();
00035         StatusCode finalize();
00036 
00037 private:
00039     std::string m_tupleName;
00041     INTupleWriterSvc *ntupleWriteSvc;
00042 };
00043 
00044 
00045 //Define the tracker tuple class here
00046 
00047 //###############################
00048 class TkrTupleValues
00049 //###############################
00050 {
00051 public:
00052     TkrTupleValues();
00053    ~TkrTupleValues() {return;}
00054 
00055     StatusCode calcTupleValues(SiClusters* pClusters, SiRecObjs* pRecObjs);
00056     StatusCode fillTupleValues(INTupleWriterSvc* pSvc, const char* pName);
00057 
00058 private:
00059     //Routines to calculate some of the values
00060     void calcFitKink(GFgamma* pGamma);
00061 
00062     //Stuff from SiClusters
00063     double Tkr_Cnv_Lyr_Hits;
00064     double Tkr_Max_controller_hits;
00065     double Tkr_Fst_Cnv_Lyr;
00066     double Tkr_NCnv_Lyrs_Hit;
00067 
00068     std::vector<double> Tkr_HitsPerLyr;
00069 
00070     //Stuff from SiRecObjs
00071     double Tkr_No_X_Trks;
00072     double Tkr_No_Y_Trks;
00073     double Tkr_No_Tracks;
00074     double Tkr_Fit_Type;
00075     double Tkr_Fit_Topo;
00076     double Tkr_Chisq;
00077     double Tkr_Chisq_1st;
00078     double Tkr_qual_X;
00079     double Tkr_qual_Y;
00080     double Tkr_qual;
00081     double Tkr_No_Hits;
00082     double Tkr_No_Gaps;
00083     double Tkr_No_Gaps_1st;
00084     double Tkr_No_Noise;
00085     double Tkr_No_Noise_1st;
00086     double Tkr_Fit_XNhits;
00087     double Tkr_Fit_YNhits;
00088     double Tkr_Fit_XChisq;
00089     double Tkr_Fit_YChisq;
00090     double Tkr_Fit_XChisq_1st;
00091     double Tkr_Fit_YChisq_1st;
00092     double Tkr_Fit_XKalEne;
00093     double Tkr_Fit_YKalEne;
00094     double Tkr_Fit_XKalThetaMS;
00095     double Tkr_Fit_YKalThetaMS;
00096     double Tkr_Fit_xdir;
00097     double Tkr_Fit_ydir;
00098     double Tkr_Fit_zdir;
00099     double Tkr_Fit_x0;
00100     double Tkr_Fit_y0;
00101     double Tkr_Fit_z0;
00102     double Tkr_Pair_xdir;
00103     double Tkr_Pair_ydir;
00104     double Tkr_Pair_zdir;
00105     double Tkr_Pair_x0;
00106     double Tkr_Pair_y0;
00107     double Tkr_Pair_z0;
00108     double Tkr_Gamma_xdir;
00109     double Tkr_Gamma_ydir;
00110     double Tkr_Gamma_zdir;
00111     double Tkr_Gamma_x0;
00112     double Tkr_Gamma_y0;
00113     double Tkr_Gamma_z0;
00114     double Tkr_Gamma_DLT;
00115     double Tkr_Pair_XNhits;
00116     double Tkr_XChisq;
00117     double Tkr_XChisq_1st;
00118     double Tkr_XKalEne;
00119     double Tkr_XKalThetaMS;
00120     double Tkr_Pair_YNhits;
00121     double Tkr_YChisq;
00122     double Tkr_YChisq_1st;
00123     double Tkr_YKalEne;
00124     double Tkr_YKalThetaMS;
00125     double Tkr_errSlopeX;
00126     double Tkr_errSlopeY;
00127     double Tkr_xeneXSlope;
00128     double Tkr_xeneYSlope;
00129     double Tkr_weightXSlope;
00130     double Tkr_weightYSlope;
00131     double Tkr_First_XHit;
00132     double Tkr_Zbottom;
00133     double Tkr_Diff_1st_Hit;
00134     double Tkr_Fit_Kink;
00135     double Tkr_Fit_KinkN;
00136     double Tkr_Pair_Kink;
00137     double Tkr_Pair_KinkN;
00138 };
00139 #endif

Generated at Wed Nov 21 12:21:21 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000