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:74
void Close()
Definition: EdbRun.cxx:466
TTree * GetTree() const
Definition: EdbRun.h:112
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