20#include <trg/cdc/modules/trgcdct3dDQM/TRGCDCT3DDQMModule.h>
22#include <framework/datastore/StoreObjPtr.h>
23#include <framework/datastore/StoreArray.h>
25#include <TDirectory.h>
26#include <TPostScript.h>
46 "Genarete postscript file or not",
49 "postscript file name",
50 string(
"cdct3ddqm.ps"));
66 h_dz->GetXaxis()->SetTitle(
"dz");
70 h_phi->GetXaxis()->SetTitle(
"phi");
78 h_pt->GetXaxis()->SetTitle(
"pt");
83 h_phi_2D->GetXaxis()->SetTitle(
"phi_2D");
87 h_pt_2D->GetXaxis()->SetTitle(
"pt_2D");
91 h_ID_TSF1->GetXaxis()->SetTitle(
"ID_TSF1");
95 h_ID_TSF3->GetXaxis()->SetTitle(
"ID_TSF3");
99 h_ID_TSF5->GetXaxis()->SetTitle(
"ID_TSF5");
103 h_ID_TSF7->GetXaxis()->SetTitle(
"ID_TSF7");
107 h_rt_TSF1->GetXaxis()->SetTitle(
"rt_TSF1");
111 h_rt_TSF3->GetXaxis()->SetTitle(
"rt_TSF3");
115 h_rt_TSF5->GetXaxis()->SetTitle(
"rt_TSF5");
119 h_rt_TSF7->GetXaxis()->SetTitle(
"rt_TSF7");
160 _exp = bevt->getExperiment();
161 _run = bevt->getRun();
167 sprintf(c_name_3D,
"FirmTRGCDC3DFitterTracks%d",
m_T3DMOD);
169 sprintf(c_name_2D,
"FirmTRGCDC2DFinderTracks%d",
m_T3DMOD);
172 char c_name_TSF[100];
173 sprintf(c_name_TSF,
"FirmCDCTriggerSegmentHits%d",
m_T3DMOD);
188 TCanvas c1(
"c1",
"", 0, 0, 500, 300);
191 TPostScript* ps_dz =
new TPostScript((
m_postScriptName +
".dz_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
196 TPostScript* ps_phi =
new TPostScript((
m_postScriptName +
".phi_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
201 TPostScript* ps_tanlambda =
new TPostScript((
m_postScriptName +
".tanlambda_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
204 ps_tanlambda->Close();
206 TPostScript* ps_pt =
new TPostScript((
m_postScriptName +
".pt_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
211 TPostScript* ps_phi_2D =
new TPostScript((
m_postScriptName +
".phi_2D_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
216 TPostScript* ps_pt_2D =
new TPostScript((
m_postScriptName +
".pt_2D_T3DModule" + to_string(
m_T3DMOD) +
".ps").c_str(), 112);
236 if (
entAry[i]->getOmega() != 0)
237 h_pt->Fill(fabs(1. /
entAry[i]->getOmega() * 0.3 * 1.5 * 0.01));
253 int pr =
entAry_TSF[i]->getPriorityPosition();
256 int validity = lr * 4 + pr;
257 if (lr == 0 || pr == 0)
continue;
262 }
else if (sl == 3) {
266 }
else if (sl == 5) {
270 }
else if (sl == 7) {
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
bool isRequired(const std::string &name="")
Ensure this array/object has been registered previously.
int getEntries() const
Get the number of objects in the array.
Type-safe access to single objects in the data store.
TH1D * h_rt_TSF3
TSF3 priority time of T3D in each module.
TH1D * h_validity_TSF5
TSF5 validity of T3D in each module.
int m_T3DMOD
T3D module number.
unsigned _exp
experiment number
virtual void initialize() override
initialize
TH1D * h_rt_TSF7
TSF7 priority time of T3D in each module.
TH1D * h_pt
pt of T3D in each module
TDirectory * oldDir
TDirectories for DQM histograms.
virtual void event() override
Event.
TH1D * h_ID_TSF5
TSF5 ID of T3D in each module.
TRGCDCT3DDQMModule()
Costructor.
TH1D * h_rt_TSF1
TSF1 priority time of T3D in each module.
TH1D * h_pt_2D
pt (from 2D) of T3D in each module
virtual void endRun() override
End Run.
StoreArray< CDCTriggerTrack > entAry_2D
2D data store
TH1D * h_phi
phi of T3D in each module
TH1D * h_validity_TSF7
TSF7 validity of T3D in each module.
virtual void beginRun() override
begin Run
StoreArray< CDCTriggerSegmentHit > entAry_TSF
Stereo TSF data store.
TH1D * h_validity_TSF3
TSF3 validity of T3D in each module.
TH1D * h_rt_TSF5
TSF5 priority time of T3D in each module.
TH1D * h_ID_TSF1
TSF1 ID of T3D in each module.
StoreArray< CDCTriggerTrack > entAry
3D data store
TDirectory * dirDQM
TDirectories for DQM histograms.
TH1D * h_dz
dz of T3D in each module
TH1D * h_validity_TSF1
TSF1 validity of T3D in each module.
std::string m_postScriptName
name of ps file
TH1D * h_tanlambda
tanlambda of T3D in each module
TH1D * h_ID_TSF7
TSF7 ID of T3D in each module.
virtual void defineHisto() override
Define Histogram.
bool m_generatePostscript
flag to save ps file
TH1D * h_phi_2D
phi (from 2D) of T3D in each module
TH1D * h_ID_TSF3
TSF3 ID of T3D in each module.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.