FEDRA emulsion software from the OPERA Collaboration
check_raw.C File Reference
#include "TCanvas.h"
#include "TFile.h"
#include "TSystem.h"
#include "TCut.h"
#include "TStyle.h"
#include "TTree.h"
#include "TH1.h"
#include "TF1.h"
#include "Riostream.h"
#include "EdbRun.h"
#include "EdbView.h"
#include "EdbCluster.h"
#include "EdbSegment.h"
Include dependency graph for check_raw.C:

Macros

#define XSIZE   1200
 
#define YSIZE   800
 

Functions

void check_raw (int output=0, char *fname=0)
 
void check_surf (TCanvas *c)
 
void check_view (TCanvas *c)
 
void check_z (TCanvas *c)
 
void init ()
 
int main (int argc, char *argv[])
 

Variables

TTree * cr_tree
 
EdbRunrun
 

Macro Definition Documentation

◆ XSIZE

#define XSIZE   1200

◆ YSIZE

#define YSIZE   800

Function Documentation

◆ check_raw()

void check_raw ( int  output = 0,
char *  fname = 0 
)
160{
161
162 if(fname) cout << "fname : " << fname << endl;
163
164 printf("Red line: Top side\n");
165 printf("Blue line: Bottom side\n");
166
167 if (fname&&output>=2) run = new EdbRun( fname , "UPDATE");
168 else if (fname&&output<2) run = new EdbRun( fname );
169
170 if(run) cr_tree = run->GetTree() ;
171 else cr_tree = (TTree*)gDirectory->Get("Views");
172
173 init();
174
175 int do_z=1 , do_view=1 , do_surf=1 ;
176
177 TCanvas *cz=0, *cview=0, *csurf=0;
178 if( output!=2 ) {
179 cz = dynamic_cast<TCanvas*>(gDirectory->Get("raw_z"));
180 cview = dynamic_cast<TCanvas*>(gDirectory->Get("raw_view"));
181 csurf = dynamic_cast<TCanvas*>(gDirectory->Get("raw_surf"));
182 if(cz) { cz->Draw(); do_z=0; }
183 if(cview) { cview->Draw(); do_view=0; }
184 if(csurf) { csurf->Draw(); do_surf=0; }
185 }
186
187 if(do_z) {
188 cz = new TCanvas("cz" , "check Z", XSIZE,YSIZE);
189 cz->Divide(2,4);
190 check_z(cz);
191 }
192 if(do_view) {
193 cview = new TCanvas("view" , "check View", XSIZE,YSIZE);
194 cview->Divide(2,4);
195 check_view(cview);
196 }
197 if(do_surf) {
198 csurf = new TCanvas("csurf" , "check surf, etc",XSIZE,YSIZE);
199 csurf->Divide(2,4);
200 check_surf(csurf);
201 }
202
203 if( (fname&&output==2) || (fname&&output==3) ) {
204 printf("save as canvases into root file\n");
205 if(cz) cz->Write("raw_z");
206 if(cview) cview->Write("raw_view");
207 if(csurf) csurf->Write("raw_surf");
208 }
209 if(output==1 || (fname&&output==3) ) {
210 printf("save as gif pictures\n");
211 gSystem->Sleep(500);
212 if(cz) cz->SaveAs("raw_z.gif");
213 if(cview) cview->SaveAs("raw_view.gif");
214 if(csurf) csurf->SaveAs("raw_surf.gif");
215 }
216 if(run) run->Close();
217}
Definition: EdbRun.h:75
void Close()
Definition: EdbRun.cxx:439
TTree * GetTree() const
Definition: EdbRun.h:113
void init()
Definition: check_raw.C:48
void check_z(TCanvas *c)
Definition: check_raw.C:55
void check_view(TCanvas *c)
Definition: check_raw.C:84
TTree * cr_tree
Definition: check_raw.C:39
void check_surf(TCanvas *c)
Definition: check_raw.C:98
EdbRun * run
Definition: check_raw.C:38
#define XSIZE
Definition: check_raw.C:15
#define YSIZE
Definition: check_raw.C:16
const char * fname
Definition: mc2raw.cxx:41
new TCanvas()

◆ check_surf()

void check_surf ( TCanvas c)
99{
100 c->cd(1); {
101 cr_tree->Draw("eYview:eXview");
102 cr_tree->Draw("eYview+eY0:eXview+eX0","eNframesTop==0&&puls>0","samecontZ");
103 }
104 c->cd(2);{
105 cr_tree->Draw("eYview:eXview");
106 cr_tree->Draw("eYview+eY0:eXview+eX0","eNframesBot==0&&puls>0","samecontZ");
107 }
108 c->cd(3); {
109 cr_tree->Draw("eNsegments");
110 cr_tree->SetLineColor(kBlue);
111 cr_tree->Draw("eNsegments>>hbot","eNframesTop==0","same");
112 cr_tree->SetLineColor(kRed);
113 cr_tree->Draw("eNsegments>>htop","eNframesBot==0","same");
114 }
115 cr_tree->SetLineColor(1);
116 c->cd(4); {
117 cr_tree->Draw("Sum$(eNcl)");
118 cr_tree->SetLineColor(kBlue);
119 cr_tree->Draw("Sum$(eNcl)","eNframesTop==0","same");
120 cr_tree->SetLineColor(kRed);
121 cr_tree->Draw("Sum$(eNcl)","eNframesBot==0","same");
122 }
123 cr_tree->SetLineColor(1);
124 c->cd(5); {
125 cr_tree->Draw("puls");
126 cr_tree->SetLineColor(kBlue);
127 cr_tree->Draw("puls","eNframesTop==0","same");
128 cr_tree->SetLineColor(kRed);
129 cr_tree->Draw("puls","eNframesBot==0","same");
130 }
131 cr_tree->SetLineColor(1);
132 c->cd(6); {
133 cr_tree->Draw("volume");
134 cr_tree->SetLineColor(kBlue);
135 cr_tree->Draw("volume","eNframesTop==0","same");
136 cr_tree->SetLineColor(kRed);
137 cr_tree->Draw("volume","eNframesBot==0","same");
138 }
139 cr_tree->SetLineColor(1);
140 c->cd(7); {
141 cr_tree->Draw("eSigmaX");
142 cr_tree->SetLineColor(kBlue);
143 cr_tree->Draw("eSigmaX","eNframesTop==0","same");
144 cr_tree->SetLineColor(kRed);
145 cr_tree->Draw("eSigmaX","eNframesBot==0","same");
146 }
147 cr_tree->SetLineColor(1);
148 c->cd(8); {
149 cr_tree->Draw("eSigmaY");
150 cr_tree->SetLineColor(kBlue);
151 cr_tree->Draw("eSigmaY","eNframesTop==0","same");
152 cr_tree->SetLineColor(kRed);
153 cr_tree->Draw("eSigmaY","eNframesBot==0","same");
154 }
155 cr_tree->SetLineColor(1);
156}

◆ check_view()

void check_view ( TCanvas c)
85{
86 c->cd(1); cr_tree->Draw("eY0:eX0","eNframesTop==0&&puls>0","lego2");
87 c->cd(2); cr_tree->Draw("eY0:eX0","eNframesTop==0&&puls>0&&(abs(eTy)>.006||abs(eTx)>.006)","colZ");
88 c->cd(3); cr_tree->Draw("eY0:eX0","eNframesBot==0&&puls>0","lego2");
89 c->cd(4); cr_tree->Draw("eY0:eX0","eNframesBot==0&&puls>0&&(abs(eTy)>.006||abs(eTx)>.006)","colZ");
90
91 c->cd(5); cr_tree->Draw("segments.eTx","puls>0");
92 c->cd(6); cr_tree->Draw("segments.eTy","puls>0");
93 c->cd(7); cr_tree->Draw("eTy:eTx","eNframesTop==0&&puls>0&&((abs(eTy)>.01||abs(eTx)>.01)) && abs(eTy)<.6 && abs(eTx)<.6","colZ");
94 c->cd(8); cr_tree->Draw("eTy:eTx","eNframesBot==0&&puls>0&&((abs(eTy)>.01||abs(eTx)>.01)) && abs(eTy)<.6 && abs(eTx)<.6","colZ");
95}

◆ check_z()

void check_z ( TCanvas c)
56{
57 c->cd(1); cr_tree->Draw("eZ1:eXview:eYview");
58 c->cd(2); cr_tree->Draw("eZ1:eAreaID*121+eViewID");
59 c->cd(3); {
60 cr_tree->Draw("eNcl:eZframe-eZ2");
61 cr_tree->SetMarkerColor(kBlue);
62 cr_tree->Draw("eNcl:eZframe-eZ2","eNframesTop==0","same");
63 cr_tree->SetMarkerColor(kRed);
64 cr_tree->Draw("eNcl:eZframe-eZ2","eNframesBot==0","same");
65 }
66 cr_tree->SetLineColor(1);
67
68 c->cd(4); cr_tree->Draw("eZ2-eZ3");
69 gStyle->SetOptStat("nemr");
70 cr_tree->SetLineColor(kBlue);
71 c->cd(5); cr_tree->Draw("eNcl:eFrameID","eNframesTop==0","prof");
72 gStyle->SetOptStat("ne");
73 c->cd(7); cr_tree->Draw("eZ0","eNframesTop==0");
74 gStyle->SetOptStat("nemr");
75 cr_tree->SetLineColor(kRed);
76 c->cd(6); cr_tree->Draw("eNcl:eFrameID","eNframesBot==0","prof");
77 gStyle->SetOptStat("ne");
78 c->cd(8); cr_tree->Draw("eZ0","eNframesBot==0");
79 gStyle->SetOptStat("nemr");
80 cr_tree->SetLineColor(1);
81}

◆ init()

void init ( )
49{
50 cr_tree->SetAlias("puls", "segments.GetPuls()");
51 cr_tree->SetAlias("volume","segments.GetVolume()");
52}

◆ main()

int main ( int  argc,
char *  argv[] 
)
222{
223 int output=3 ;
224 char* fname=argv[1] ;
225
226 gStyle->SetPalette(1);
227 check_raw( output, fname ) ;
228
229 return 1 ;
230}
void check_raw(int output=0, char *fname=0)
Definition: check_raw.C:159

Variable Documentation

◆ cr_tree

TTree* cr_tree

◆ run

EdbRun* run