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: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
#define XSIZE
Definition: check_raw.C:15
EdbRun * run
Definition: check_raw.C:38
#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