BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
FarmMonitorAlg.h
Go to the documentation of this file.
1#ifndef FarmMonitorAlg_H
2#define FarmMonitorAlg_H
3
4#include "GaudiKernel/Algorithm.h"
5#include "GaudiKernel/NTuple.h"
6
7/// For histograms
8#include "AIDA/IAxis.h"
9#include "AIDA/IHistogram1D.h"
10#include "AIDA/IHistogram2D.h"
11#include "AIDA/IHistogramFactory.h"
12using AIDA::IHistogram1D;
13using AIDA::IHistogram2D;
14
15class FarmMonitorAlg : public Algorithm {
16
17public:
18 FarmMonitorAlg( const std::string& name, ISvcLocator* pSvcLocator );
19 StatusCode initialize();
20 StatusCode execute();
21 StatusCode finalize();
22
23private:
24 // Declare external property variables
25 bool m_debug;
26 int m_RunEventFreq;
27
28 double m_ecm;
29 double m_vr0cut;
30 double m_vz0cut;
31
32 // histograms
33
34 /// Total energies
35 IHistogram1D* h_eVisibleDivEcm;
36 IHistogram1D* h_eEMCDivEcm;
37 IHistogram1D* h_eNeutralDivEcm;
38 IHistogram1D* h_eChargedDivEcm;
39
40 /// Net momenta
41 IHistogram1D* h_netMomentumDivEcm_AllChargedTracks;
42 IHistogram1D* h_netTransMomentumDivEcm_AllChargedTracks;
43 IHistogram1D* h_cosTheta_AllChargedTracks;
44
45 IHistogram1D* h_netMomentumDivEcm_AllNeutralTracks;
46 IHistogram1D* h_netTransMomentumDivEcm_AllNeutralTracks;
47 IHistogram1D* h_cosTheta_AllNeutralTracks;
48
49 IHistogram1D* h_netMomentumDivEcm_AllTracks;
50 IHistogram1D* h_netTransMomentumDivEcm_AllTracks;
51 IHistogram1D* h_cosTheta_AllTracks;
52
53 /// Charged Tracks
54 IHistogram1D* h_trackR0;
55 IHistogram1D* h_trackZ0;
56 IHistogram1D* h_nChargedTracks;
57 IHistogram1D* h_nChargedTracksIP;
58 IHistogram1D* h_netCharge;
59 IHistogram1D* h_netChargeIP;
60
61 /// 2 highest momentum charged tracks
62 IHistogram1D* h_pIPTrack1DivEb;
63 IHistogram1D* h_pIPTrack2DivEb;
64 IHistogram1D* h_eEMCIPTrack1DivEb;
65 IHistogram1D* h_eEMCIPTrack2DivEb;
66 IHistogram1D* h_acoplanarity_2HighestPIPTracks;
67
68 /// Neutral Tracks
69 IHistogram1D* h_nNeutralTracks;
70 IHistogram1D* h_nNeutralTracksGT30MeV;
71 IHistogram1D* h_eEMCShower1DivEb;
72 IHistogram1D* h_eEMCShower2DivEb;
73 IHistogram1D* h_eEMCShower3DivEb;
74
75 /// MUC information
76 IHistogram1D* h_mucDepth;
77 IHistogram2D* h_mucDepthVsCosTheta;
78 IHistogram2D* h_mucDepthVsPhi;
79
80 /// PID (dE/dx) information
81 IHistogram1D* h_dedxTotalHitsIP;
82 IHistogram1D* h_dedxGoodHitsIP;
83 IHistogram1D* h_dedxElecChiIP;
84 IHistogram1D* h_dedxMuonChiIP;
85 IHistogram1D* h_dedxPionChiIP;
86 IHistogram1D* h_dedxKaonChiIP;
87 IHistogram1D* h_dedxProtonChiIP;
88 IHistogram1D* h_dedxProbPHIP;
89 IHistogram2D* h_dedxProbPHVsMomentumIP;
90
91 /// PID (TOF) information
92 IHistogram1D* h_tofPHIP_BarrelLayer1;
93 IHistogram1D* h_tofPHIP_BarrelLayer2;
94 IHistogram1D* h_tofPHIP_EastEndcap;
95 IHistogram1D* h_tofPHIP_WestEndcap;
96 IHistogram1D* h_tofIP_BarrelLayer1;
97 IHistogram1D* h_tofIP_BarrelLayer2;
98 IHistogram1D* h_tofIP_EastEndcap;
99 IHistogram1D* h_tofIP_WestEndcap;
100 IHistogram1D* h_tofElecIP_Barrel;
101 IHistogram1D* h_tofMuonIP_Barrel;
102 IHistogram1D* h_tofPionIP_Barrel;
103 IHistogram1D* h_tofKaonIP_Barrel;
104 IHistogram1D* h_tofProtonIP_Barrel;
105 IHistogram1D* h_tofElecIP_Endcap;
106 IHistogram1D* h_tofMuonIP_Endcap;
107 IHistogram1D* h_tofPionIP_Endcap;
108 IHistogram1D* h_tofKaonIP_Endcap;
109 IHistogram1D* h_tofProtonIP_Endcap;
110 IHistogram2D* h_tofVsMomentumIP;
111
112 /// VeeVertex information
113 IHistogram1D* h_nKs;
114 IHistogram1D* h_ksMass;
115
116 IHistogram1D* h_nLambda;
117 IHistogram1D* h_lambdaMass;
118
119 // Add Pi0 histograms when official pi0 list is ready
120};
121
122#endif
StatusCode finalize()
StatusCode execute()
FarmMonitorAlg(const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize()