00001 #ifndef FarmMonitorAlg_H 00002 #define FarmMonitorAlg_H 00003 00004 #include "GaudiKernel/AlgFactory.h" 00005 #include "GaudiKernel/Algorithm.h" 00006 #include "GaudiKernel/NTuple.h" 00007 00009 #include "AIDA/IAxis.h" 00010 #include "AIDA/IHistogram1D.h" 00011 #include "AIDA/IHistogram2D.h" 00012 #include "AIDA/IHistogramFactory.h" 00013 using AIDA::IHistogram1D; 00014 using AIDA::IHistogram2D; 00015 00016 class FarmMonitorAlg : public Algorithm { 00017 00018 public: 00019 FarmMonitorAlg(const std::string& name, ISvcLocator* pSvcLocator); 00020 StatusCode initialize(); 00021 StatusCode execute(); 00022 StatusCode finalize(); 00023 00024 private: 00025 00026 // Declare external property variables 00027 bool m_debug; 00028 int m_RunEventFreq; 00029 00030 double m_ecm; 00031 double m_vr0cut; 00032 double m_vz0cut; 00033 00034 //histograms 00035 00037 IHistogram1D* h_eVisibleDivEcm; 00038 IHistogram1D* h_eEMCDivEcm; 00039 IHistogram1D* h_eNeutralDivEcm; 00040 IHistogram1D* h_eChargedDivEcm; 00041 00043 IHistogram1D* h_netMomentumDivEcm_AllChargedTracks; 00044 IHistogram1D* h_netTransMomentumDivEcm_AllChargedTracks; 00045 IHistogram1D* h_cosTheta_AllChargedTracks; 00046 00047 IHistogram1D* h_netMomentumDivEcm_AllNeutralTracks; 00048 IHistogram1D* h_netTransMomentumDivEcm_AllNeutralTracks; 00049 IHistogram1D* h_cosTheta_AllNeutralTracks; 00050 00051 IHistogram1D* h_netMomentumDivEcm_AllTracks; 00052 IHistogram1D* h_netTransMomentumDivEcm_AllTracks; 00053 IHistogram1D* h_cosTheta_AllTracks; 00054 00056 IHistogram1D* h_trackR0; 00057 IHistogram1D* h_trackZ0; 00058 IHistogram1D* h_nChargedTracks; 00059 IHistogram1D* h_nChargedTracksIP; 00060 IHistogram1D* h_netCharge; 00061 IHistogram1D* h_netChargeIP; 00062 00064 IHistogram1D* h_pIPTrack1DivEb; 00065 IHistogram1D* h_pIPTrack2DivEb; 00066 IHistogram1D* h_eEMCIPTrack1DivEb; 00067 IHistogram1D* h_eEMCIPTrack2DivEb; 00068 IHistogram1D* h_acoplanarity_2HighestPIPTracks; 00069 00071 IHistogram1D* h_nNeutralTracks; 00072 IHistogram1D* h_nNeutralTracksGT30MeV; 00073 IHistogram1D* h_eEMCShower1DivEb; 00074 IHistogram1D* h_eEMCShower2DivEb; 00075 IHistogram1D* h_eEMCShower3DivEb; 00076 00078 IHistogram1D* h_mucDepth; 00079 IHistogram2D* h_mucDepthVsCosTheta; 00080 IHistogram2D* h_mucDepthVsPhi; 00081 00083 IHistogram1D* h_dedxTotalHitsIP; 00084 IHistogram1D* h_dedxGoodHitsIP; 00085 IHistogram1D* h_dedxElecChiIP; 00086 IHistogram1D* h_dedxMuonChiIP; 00087 IHistogram1D* h_dedxPionChiIP; 00088 IHistogram1D* h_dedxKaonChiIP; 00089 IHistogram1D* h_dedxProtonChiIP; 00090 IHistogram1D* h_dedxProbPHIP; 00091 IHistogram2D* h_dedxProbPHVsMomentumIP; 00092 00094 IHistogram1D* h_tofPHIP_BarrelLayer1; 00095 IHistogram1D* h_tofPHIP_BarrelLayer2; 00096 IHistogram1D* h_tofPHIP_EastEndcap; 00097 IHistogram1D* h_tofPHIP_WestEndcap; 00098 IHistogram1D* h_tofIP_BarrelLayer1; 00099 IHistogram1D* h_tofIP_BarrelLayer2; 00100 IHistogram1D* h_tofIP_EastEndcap; 00101 IHistogram1D* h_tofIP_WestEndcap; 00102 IHistogram1D* h_tofElecIP_Barrel; 00103 IHistogram1D* h_tofMuonIP_Barrel; 00104 IHistogram1D* h_tofPionIP_Barrel; 00105 IHistogram1D* h_tofKaonIP_Barrel; 00106 IHistogram1D* h_tofProtonIP_Barrel; 00107 IHistogram1D* h_tofElecIP_Endcap; 00108 IHistogram1D* h_tofMuonIP_Endcap; 00109 IHistogram1D* h_tofPionIP_Endcap; 00110 IHistogram1D* h_tofKaonIP_Endcap; 00111 IHistogram1D* h_tofProtonIP_Endcap; 00112 IHistogram2D* h_tofVsMomentumIP; 00113 00115 IHistogram1D* h_nKs; 00116 IHistogram1D* h_ksMass; 00117 00118 IHistogram1D* h_nLambda; 00119 IHistogram1D* h_lambdaMass; 00120 00121 // Add Pi0 histograms when official pi0 list is ready 00122 00123 }; 00124 00125 #endif