30 gROOT->LoadMacro(
"$VMCWORKDIR/macro/run/bmnloadlibs.C");
36 name =
Form(
"Plane%d",
i);
48 TH2I* hCrosing =
new TH2I(
"hCrosing",
"hCrosing", 48, 0, 48, 48, 0, 48);
50 TH1I* hCrosingDx =
new TH1I(
"hCrosingDx",
"hCrosingDx", 48, 0., 60.);
51 fList->
Add(hCrosingDx);
52 TH1I* hCrosingDy =
new TH1I(
"hCrosingDy",
"hCrosingDy", 120, -30., 30.);
53 fList->
Add(hCrosingDy);
54 TH1I* hCrosingDr =
new TH1I(
"hCrosingDr",
"hCrosingDr", 600, 0., 60.);
55 fList->
Add(hCrosingDr);
56 TH1I* hCrosingDt =
new TH1I(
"hCrosingDt",
"hCrosingDt", 1024, -12., 12.);
57 fList->
Add(hCrosingDt);
58 TH2I* hCrosingWidth_Width =
new TH2I(
"hCrosingWidth_Width",
"hCrosingWidth_Width", 1024, 12, 60, 1024, 12, 60);
59 fList->
Add(hCrosingWidth_Width);
60 TH1I* hCrosingDwidth =
new TH1I(
"hCrosingDwidth",
"hCrosingDwidth", 512, -12., 12.);
61 fList->
Add(hCrosingDwidth);
63 TH1I* hCrosingDtSt =
new TH1I(
"hCrosingDtSt",
"hCrosingDtSt", 1024, -12., 12.);
64 fList->
Add(hCrosingDtSt);
65 TH2I* hCrosingDtSt_Width1 =
new TH2I(
"hCrosingDtSt_Width1",
"hCrosingDtSt_Width1", 1024, 12, 60, 1024, -12, 12);
66 fList->
Add(hCrosingDtSt_Width1);
67 TH2I* hCrosingDtSt_Width2 =
new TH2I(
"hCrosingDtSt_Width2",
"hCrosingDtSt_Width2", 1024, 12, 60, 1024, -12, 12);
68 fList->
Add(hCrosingDtSt_Width2);
70 TH2I* h_HitRPC =
new TH2I(
"h_HitRPC",
"h_HitRPC", 192, -96, 96, 5, 0, 5);
71 fListTof->
Add(h_HitRPC);
73 TH2I* h_XYRPC =
new TH2I(
"h_XYRPC",
"h_XYRPC", 320, -200, 200, 120, -75, 75);
74 fListTof->
Add(h_XYRPC);
76 TH2I* h_Time_vs_Angle =
new TH2I(
"h_Time_vs_Angle",
"h_Time_vs_Angle", 320, -200, 200, 1024, -6., 18.);
77 fListTof->
Add(h_Time_vs_Angle);
79 TH1I* hdtPlane7 =
new TH1I(
"hdtPlane7",
"hdtPlane7", 1024, -5., 43.);
80 fList->
Add(hdtPlane7);
82 TH2I* hdtPlane7_vs_AmpT0 =
new TH2I(
"hdtPlane7_vs_AmpT0",
"hdtPlane7_vs_AmpT0", 512, 0., 50., 512, -5., 43.);
83 fList->
Add(hdtPlane7_vs_AmpT0);
85 TH2I* hdtPlane7_vs_AmpPlane7 =
86 new TH2I(
"hdtPlane7_vs_AmpPlane7",
"hdtPlane7_vs_AmpPlane7", 512, 0., 50., 512, -5., 43.);
87 fList->
Add(hdtPlane7_vs_AmpPlane7);
89 TH1I* hdtPlane12 =
new TH1I(
"hdtPlane12",
"hdtPlane12", 1024, -5., 43.);
90 fList->
Add(hdtPlane12);
92 TH2I* hdtPlane12_vs_AmpT0 =
new TH2I(
"hdtPlane12_vs_AmpT0",
"hdtPlane12_vs_AmpT0", 512, 0., 50., 512, -5., 43.);
93 fList->
Add(hdtPlane12_vs_AmpT0);
95 TH2I* hdtPlane12_vs_AmpPlane12 =
96 new TH2I(
"hdtPlane12_vs_AmpPlane12",
"hdtPlane12_vs_AmpPlane12", 512, 0., 50., 512, -5., 43.);
97 fList->
Add(hdtPlane12_vs_AmpPlane12);
102 cout <<
"Open file " << inName << endl << endl;
103 eveTree->
Add(inName);
121 if (nEvForRead == 0 || nEvForRead > nEvents)
122 nEvForRead = nEvents;
123 cout <<
"Will be read " << nEvForRead <<
" events from " << nEvents << endl;
125 for (
Int_t iEv = 0; iEv < nEvForRead; iEv++) {
128 cout <<
"EVENT: " << iEv << endl;
131 Int_t CountMod0 = 0, CountMod1 = 0;
140 if (CountMod0 == 1 && CountMod1 <= 0
155 if (digT0->
GetAmp() >= 19.26 && digT0->
GetAmp() <= 22.06) {
195 Plane[
i]->FindHits(digT0);
196 for (
Int_t s = 0; s < 47; s++) {
202 h_XYRPC->
Fill(XYZ.
x(), XYZ.
y());
204 h_Time_vs_Angle->
Fill(XYZ.
x(), ToF);
206 if (ToF != 0 &&
i == 7 && s == 3) {
209 hdtPlane7->
Fill(ToF);
210 hdtPlane7_vs_AmpT0->
Fill(digT0->
GetAmp(), ToF);
211 hdtPlane7_vs_AmpPlane7->
Fill(Plane[
i]->GetWidth(s), ToF);
213 if (ToF != 0 &&
i == 12 && s == 45) {
216 hdtPlane12->
Fill(ToF);
217 hdtPlane12_vs_AmpT0->
Fill(digT0->
GetAmp(), ToF);
218 hdtPlane12_vs_AmpPlane12->
Fill(Plane[
i]->GetWidth(s), ToF);
222 CrossingDet(Plane[2], Plane[7], hCrosing, hCrosingDx, hCrosingDy, hCrosingDr, hCrosingDt, hCrosingDtSt,
223 hCrosingDtSt_Width1, hCrosingDtSt_Width2);
230 cout <<
"End Data Analysis" << endl;
234 outName.
Replace(Point, 15,
"_TofAn7.root");
235 outName =
Form(
"%s", outName.
Data());
236 cout <<
"Save data to " << outName.
Data() << endl;
240 Dir = fileout->
mkdir(
"ToF");
248 DirPlane[
i] = Dir->
mkdir(Plane[
i]->GetName());
251 Dir1Plane[
i] = DirPlane[
i]->
mkdir(
"Detector");
254 Dir2Plane[
i] = DirPlane[
i]->
mkdir(
"ToF");
void CrossingDet(BmnTOF1Detector *Det1, BmnTOF1Detector *Det2, TH2 *hD1D2, TH1 *hDx, TH1 *hDy, TH1 *hDr, TH1 *hDt, TH1 *hDtSt, TH2 *hDtSt_W1, TH2 *hDtSt_W2)