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

◆ check_surf()

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

◆ check_view()

void check_view ( TCanvas c)
77{
78 c->cd(1); cr_tree->Draw("eY0:eX0","eNframesTop==0&&puls>0","lego2");
79 c->cd(2); cr_tree->Draw("eY0:eX0","eNframesTop==0&&puls>0&&(abs(eTy)>.006||abs(eTx)>.006)","colZ");
80 c->cd(3); cr_tree->Draw("eY0:eX0","eNframesBot==0&&puls>0","lego2");
81 c->cd(4); cr_tree->Draw("eY0:eX0","eNframesBot==0&&puls>0&&(abs(eTy)>.006||abs(eTx)>.006)","colZ");
82
83 c->cd(5); cr_tree->Draw("segments.eTx","puls>0");
84 c->cd(6); cr_tree->Draw("segments.eTy","puls>0");
85 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");
86 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");
87}

◆ check_z()

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

◆ init()

void init ( )
41{
42 cr_tree->SetAlias("puls", "segments.GetPuls()");
43 cr_tree->SetAlias("volume","segments.GetVolume()");
44}

◆ main()

int main ( int  argc,
char *  argv[] 
)
214{
215 int output=3 ;
216 char* fname=argv[1] ;
217
218 gStyle->SetPalette(1);
219 check_raw( output, fname ) ;
220
221 return 1 ;
222}
void check_raw(int output=0, char *fname=0)
Definition: check_raw.C:159

Variable Documentation

◆ cr_tree

TTree* cr_tree

◆ run

EdbRun* run