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