File indexing completed on 2024-04-06 12:33:45
0001 #include "TFile.h"
0002 #include "TTree.h"
0003 #include "TBranch.h"
0004 #include "TH1F.h"
0005 #include <iostream>
0006 #include <fstream>
0007
0008 gROOT ->Reset();
0009
0010 string statp = "KS prob";
0011 Double_t ks[12];
0012
0013 Char_t histo[200];
0014 std::strstream buf;
0015 std::string value;
0016
0017 TH1F * ch[12];
0018 TH1F * rh[12];
0019 TText* te = new TText();
0020
0021 TFile * rfile;
0022 TFile * cfile;
0023
0024 std::string system;
0025 std::string variable;
0026 std::strstream hn;
0027 std::string hname;
0028 std::string histogram;
0029 ofstream outfile("LowKS_pos_list.dat");
0030
0031 void SiTrackerHitsComparePosition()
0032 {
0033
0034 gROOT->ProcessLine(".x HistoCompare.C");
0035 HistoCompare * PV = new HistoCompare();
0036
0037 gStyle->SetNdivisions(504,"XYZ");
0038 gStyle->SetStatH(0.18);
0039 gStyle->SetStatW(0.35);
0040
0041 char* cfilename = "TrackerHitHisto.root";
0042 char* rfilename = "../TrackerHitHisto.root";
0043
0044 delete gROOT->GetListOfFiles()->FindObject(rfilename);
0045 delete gROOT->GetListOfFiles()->FindObject(cfilename);
0046
0047 rfile = new TFile(rfilename);
0048 TDirectory * rdir=gDirectory;
0049 cfile = new TFile(cfilename);
0050 TDirectory * cdir=gDirectory;
0051
0052 if(rfile->cd("DQMData/Run 1/TrackerHitsV"))rfile->cd("DQMData/Run 1/TrackerHitsV/Run summary/TrackerHit");
0053 else rfile->cd("DQMData/TrackerHitsV/TrackerHit");
0054 rdir=gDirectory;
0055
0056 if(cfile->cd("DQMData/Run 1/TrackerHitsV"))cfile->cd("DQMData/Run 1/TrackerHitsV/Run summary/TrackerHit");
0057 else cfile->cd("DQMData/TrackerHitsV/TrackerHit");
0058 cdir=gDirectory;
0059
0060
0061 TLegend leg(0.3, 0.83, 0.55, 0.90);
0062
0063 TList* ref_list = rfile->GetListOfKeys() ;
0064 if (!ref_list) {
0065 std::cout<<"=========>> AutoComaprison:: There is no Keys available in the Reference file."<<std::endl;
0066 exit(1) ;
0067 }
0068
0069
0070 TList* new_list = cfile->GetListOfKeys() ;
0071 if (!new_list) {
0072 std::cout<<"=========>> AutoComaprison:: There is no Keys available in New file."<<std::endl;
0073 exit(1) ;
0074 }
0075
0076
0077
0078 TIter refkey_iter( ref_list) ;
0079 TKey* ref_key ;
0080 TObject* ref_obj ;
0081
0082 char rver[50];
0083 char cver[50];
0084 while ( ref_key = (TKey*) refkey_iter() ) {
0085 ref_obj = ref_key->ReadObj() ;
0086 if (strcmp(ref_obj->IsA()->GetName(),"TObjString")==0) {
0087
0088 TObjString * rversion = dynamic_cast< TObjString*> (ref_obj);
0089 sprintf(rver, "%s", rversion->GetName());
0090 std::cout<<" Ref. version =" << rver<<std::endl;
0091 break;
0092 }
0093 }
0094
0095
0096 TIter newkey_iter( new_list) ;
0097 TKey* new_key ;
0098 TObject* new_obj ;
0099 while ( new_key = (TKey*) newkey_iter() ) {
0100 new_obj = new_key->ReadObj() ;
0101 if (strcmp(new_obj->IsA()->GetName(),"TObjString")==0) {
0102
0103 TObjString * cversion = dynamic_cast< TObjString*> (new_obj);
0104 sprintf(cver, "%s", cversion->GetName());
0105 std::cout<<" Cur version =" << cver<<std::endl;
0106 break;
0107
0108 }
0109 }
0110
0111
0112
0113
0114 TH1F * hsum_st = new TH1F("ks_st", "KS summary position STRIPS", 22 , -0.05 , 1.05);
0115 TH1F * hsum_px = new TH1F("ks_px", "KS summary position PIXELS", 22 , -0.05 , 1.05);
0116 TH1F * hsum_TIB = new TH1F("ks_TIB", "KS summary position TIB", 22 , -0.05 , 1.05);
0117 TH1F * hsum_TOB = new TH1F("ks_TOB", "KS summary position TOB", 22 , -0.05 , 1.05);
0118 TH1F * hsum_TID = new TH1F("ks_TID", "KS summary position TID", 22 , -0.05 , 1.05);
0119 TH1F * hsum_TEC = new TH1F("ks_TEC", "KS summary position TEC", 22 , -0.05 , 1.05);
0120 TH1F * hsum_BPIX = new TH1F("ks_BPIX", "KS summary position BPIX", 22 , -0.05 , 1.05);
0121 TH1F * hsum_FPIX = new TH1F("ks_FPIX", "KS summary position FPIX", 22 , -0.05 , 1.05);
0122
0123
0124 variable = "Entryx-Exitx";
0125
0126
0127
0128 system = "TOB";
0129 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0130 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0131 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0132
0133 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0134 c->Divide(3,4);
0135 for (Int_t i=0; i<12; i++) {
0136 hn << histogram << i+1 <<std::endl;
0137 hn >> hname;
0138 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0139 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0140 c->cd(i+1);
0141 if (PV->KSok(rh[i] , ch[i])) {
0142 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0143 PV->KSdraw(rh[i] , ch[i]);
0144 rh[i]->Draw("h");
0145 ch[i]->Draw("h same");
0146 buf<<"KS="<<ks[i]<<std::endl;
0147 buf>>value;
0148 te->DrawTextNDC(0.5,0.7, value.c_str());
0149 hsum_TOB->Fill(ks[i]);
0150
0151 leg.Clear();
0152 leg.AddEntry(rh[i],rver , "l");
0153 leg.AddEntry(ch[i],cver , "l");
0154 leg.Draw();
0155
0156 }
0157 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0158 }
0159 c->Print(outname_eps.c_str());
0160 c->Print(outname_gif.c_str());
0161
0162
0163 system = "TIB";
0164 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0165 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0166 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0167
0168 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0169 c->Divide(3,4);
0170 for (Int_t i=0; i<12; i++) {
0171 hn << histogram << i+1 <<std::endl;
0172 hn >> hname;
0173 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0174 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0175 c->cd(i+1);
0176 if (PV->KSok(rh[i] , ch[i])) {
0177 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0178 PV->KSdraw(rh[i] , ch[i]);
0179 rh[i]->Draw("h");
0180 ch[i]->Draw("h same");
0181 buf<<"KS="<<ks[i]<<std::endl;
0182 buf>>value;
0183 te->DrawTextNDC(0.5,0.7, value.c_str());
0184 hsum_TIB->Fill(ks[i]);
0185
0186 leg.Clear();
0187 leg.AddEntry(rh[i],rver , "l");
0188 leg.AddEntry(ch[i],cver , "l");
0189 leg.Draw();
0190
0191 }
0192 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0193 }
0194 c->Print(outname_eps.c_str());
0195 c->Print(outname_gif.c_str());
0196
0197
0198 system = "TID";
0199 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0200 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0201 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0202
0203 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0204 c->Divide(3,4);
0205 for (Int_t i=0; i<12; i++) {
0206 hn << histogram << i+1 <<std::endl;
0207 hn >> hname;
0208 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0209 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0210 c->cd(i+1);
0211 if (PV->KSok(rh[i] , ch[i])) {
0212 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0213 PV->KSdraw(rh[i] , ch[i]);
0214 rh[i]->Draw("h");
0215 ch[i]->Draw("h same");
0216 buf<<"KS="<<ks[i]<<std::endl;
0217 buf>>value;
0218 te->DrawTextNDC(0.5,0.7, value.c_str());
0219 hsum_TID->Fill(ks[i]);
0220 leg.Clear();
0221 leg.AddEntry(rh[i],rver , "l");
0222 leg.AddEntry(ch[i],cver , "l");
0223 leg.Draw();
0224
0225 }
0226 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0227 }
0228 c->Print(outname_eps.c_str());
0229 c->Print(outname_gif.c_str());
0230
0231
0232 system = "TEC";
0233 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0234 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0235 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0236
0237 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0238 c->Divide(3,4);
0239 for (Int_t i=0; i<12; i++) {
0240 hn << histogram << i+1 <<std::endl;
0241 hn >> hname;
0242 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0243 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0244 c->cd(i+1);
0245 if (PV->KSok(rh[i] , ch[i])) {
0246 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0247 PV->KSdraw(rh[i] , ch[i]);
0248 rh[i]->Draw("h");
0249 ch[i]->Draw("h same");
0250 buf<<"KS="<<ks[i]<<std::endl;
0251 buf>>value;
0252 te->DrawTextNDC(0.5,0.7, value.c_str());
0253 hsum_TEC->Fill(ks[i]);
0254 leg.Clear();
0255 leg.AddEntry(rh[i],rver , "l");
0256 leg.AddEntry(ch[i],cver , "l");
0257 leg.Draw();
0258
0259 }
0260 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0261 }
0262 c->Print(outname_eps.c_str());
0263 c->Print(outname_gif.c_str());
0264
0265
0266 system = "BPIX";
0267 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0268 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0269 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0270
0271 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0272 c->Divide(3,4);
0273 for (Int_t i=0; i<12; i++) {
0274 hn << histogram << i+1 <<std::endl;
0275 hn >> hname;
0276 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0277 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0278 c->cd(i+1);
0279 if (PV->KSok(rh[i] , ch[i])) {
0280 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0281 PV->KSdraw(rh[i] , ch[i]);
0282 rh[i]->Draw("h");
0283 ch[i]->Draw("h same");
0284 buf<<"KS="<<ks[i]<<std::endl;
0285 buf>>value;
0286 te->DrawTextNDC(0.5,0.7, value.c_str());
0287 hsum_BPIX->Fill(ks[i]);
0288 leg.Clear();
0289 leg.AddEntry(rh[i],rver , "l");
0290 leg.AddEntry(ch[i],cver , "l");
0291 leg.Draw();
0292 }
0293 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0294 }
0295 c->Print(outname_eps.c_str());
0296 c->Print(outname_gif.c_str());
0297
0298 system = "FPIX";
0299 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0300 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0301 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0302
0303 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0304 c->Divide(3,4);
0305 for (Int_t i=0; i<12; i++) {
0306 hn << histogram << i+1 <<std::endl;
0307 hn >> hname;
0308 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0309 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0310 c->cd(i+1);
0311 if (PV->KSok(rh[i] , ch[i])) {
0312 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0313 PV->KSdraw(rh[i] , ch[i]);
0314 rh[i]->Draw("h");
0315 ch[i]->Draw("h same");
0316 buf<<"KS="<<ks[i]<<std::endl;
0317 buf>>value;
0318 te->DrawTextNDC(0.5,0.7, value.c_str());
0319 hsum_FPIX->Fill(ks[i]);
0320 leg.Clear();
0321 leg.AddEntry(rh[i],rver , "l");
0322 leg.AddEntry(ch[i],cver , "l");
0323 leg.Draw();
0324
0325 }
0326 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0327 }
0328 c->Print(outname_eps.c_str());
0329 c->Print(outname_gif.c_str());
0330
0331
0332 variable = "Entryy-Exity";
0333
0334
0335
0336 system = "TOB";
0337 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0338 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0339 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0340
0341 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0342 c->Divide(3,4);
0343 for (Int_t i=0; i<12; i++) {
0344 hn << histogram << i+1 <<std::endl;
0345 hn >> hname;
0346 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0347 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0348 c->cd(i+1);
0349 if (PV->KSok(rh[i] , ch[i])) {
0350 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0351 PV->KSdraw(rh[i] , ch[i]);
0352 rh[i]->Draw("h");
0353 ch[i]->Draw("h same");
0354 buf<<"KS="<<ks[i]<<std::endl;
0355 buf>>value;
0356 te->DrawTextNDC(0.5,0.7, value.c_str());
0357 hsum_TOB->Fill(ks[i]);
0358 leg.Clear();
0359 leg.AddEntry(rh[i],rver , "l");
0360 leg.AddEntry(ch[i],cver , "l");
0361 leg.Draw();
0362
0363 }
0364 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0365 }
0366 c->Print(outname_eps.c_str());
0367 c->Print(outname_gif.c_str());
0368
0369
0370 system = "TIB";
0371 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0372 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0373 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0374
0375 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0376 c->Divide(3,4);
0377 for (Int_t i=0; i<12; i++) {
0378 hn << histogram << i+1 <<std::endl;
0379 hn >> hname;
0380 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0381 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0382 c->cd(i+1);
0383 if (PV->KSok(rh[i] , ch[i])) {
0384 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0385 PV->KSdraw(rh[i] , ch[i]);
0386 rh[i]->Draw("h");
0387 ch[i]->Draw("h same");
0388 buf<<"KS="<<ks[i]<<std::endl;
0389 buf>>value;
0390 te->DrawTextNDC(0.5,0.7, value.c_str());
0391 hsum_TIB->Fill(ks[i]);
0392 leg.Clear();
0393 leg.AddEntry(rh[i],rver , "l");
0394 leg.AddEntry(ch[i],cver , "l");
0395 leg.Draw();
0396
0397 }
0398 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0399 }
0400 c->Print(outname_eps.c_str());
0401 c->Print(outname_gif.c_str());
0402
0403
0404 system = "TID";
0405 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0406 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0407 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0408
0409 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0410 c->Divide(3,4);
0411 for (Int_t i=0; i<12; i++) {
0412 hn << histogram << i+1 <<std::endl;
0413 hn >> hname;
0414 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0415 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0416 c->cd(i+1);
0417 if (PV->KSok(rh[i] , ch[i])) {
0418 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0419 PV->KSdraw(rh[i] , ch[i]);
0420 rh[i]->Draw("h");
0421 ch[i]->Draw("h same");
0422 buf<<"KS="<<ks[i]<<std::endl;
0423 buf>>value;
0424 te->DrawTextNDC(0.5,0.7, value.c_str());
0425 hsum_TID->Fill(ks[i]);
0426 leg.Clear();
0427 leg.AddEntry(rh[i],rver , "l");
0428 leg.AddEntry(ch[i],cver , "l");
0429 leg.Draw();
0430
0431 }
0432 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0433 }
0434 c->Print(outname_eps.c_str());
0435 c->Print(outname_gif.c_str());
0436
0437
0438 system = "TEC";
0439 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0440 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0441 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0442
0443 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0444 c->Divide(3,4);
0445 for (Int_t i=0; i<12; i++) {
0446 hn << histogram << i+1 <<std::endl;
0447 hn >> hname;
0448 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0449 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0450 c->cd(i+1);
0451 if (PV->KSok(rh[i] , ch[i])) {
0452 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0453 PV->KSdraw(rh[i] , ch[i]);
0454 rh[i]->Draw("h");
0455 ch[i]->Draw("h same");
0456 buf<<"KS="<<ks[i]<<std::endl;
0457 buf>>value;
0458 te->DrawTextNDC(0.5,0.7, value.c_str());
0459 hsum_TEC->Fill(ks[i]);
0460 leg.Clear();
0461 leg.AddEntry(rh[i],rver , "l");
0462 leg.AddEntry(ch[i],cver , "l");
0463 leg.Draw();
0464
0465 }
0466 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0467 }
0468 c->Print(outname_eps.c_str());
0469 c->Print(outname_gif.c_str());
0470
0471
0472 system = "BPIX";
0473 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0474 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0475 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0476
0477 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0478 c->Divide(3,4);
0479 for (Int_t i=0; i<12; i++) {
0480 hn << histogram << i+1 <<std::endl;
0481 hn >> hname;
0482 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0483 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0484 c->cd(i+1);
0485 if (PV->KSok(rh[i] , ch[i])) {
0486 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0487 PV->KSdraw(rh[i] , ch[i]);
0488 rh[i]->Draw("h");
0489 ch[i]->Draw("h same");
0490 buf<<"KS="<<ks[i]<<std::endl;
0491 buf>>value;
0492 te->DrawTextNDC(0.5,0.7, value.c_str());
0493 hsum_BPIX->Fill(ks[i]);
0494 leg.Clear();
0495 leg.AddEntry(rh[i],rver , "l");
0496 leg.AddEntry(ch[i],cver , "l");
0497 leg.Draw();
0498
0499 }
0500 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0501 }
0502 c->Print(outname_eps.c_str());
0503 c->Print(outname_gif.c_str());
0504
0505 system = "FPIX";
0506 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0507 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0508 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0509
0510 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0511 c->Divide(3,4);
0512 for (Int_t i=0; i<12; i++) {
0513 hn << histogram << i+1 <<std::endl;
0514 hn >> hname;
0515 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0516 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0517 c->cd(i+1);
0518 if (PV->KSok(rh[i] , ch[i])) {
0519 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0520 PV->KSdraw(rh[i] , ch[i]);
0521 rh[i]->Draw("h");
0522 ch[i]->Draw("h same");
0523 buf<<"KS="<<ks[i]<<std::endl;
0524 buf>>value;
0525 te->DrawTextNDC(0.5,0.7, value.c_str());
0526 hsum_FPIX->Fill(ks[i]);
0527 leg.Clear();
0528 leg.AddEntry(rh[i],rver , "l");
0529 leg.AddEntry(ch[i],cver , "l");
0530 leg.Draw();
0531
0532 }
0533 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0534 }
0535 c->Print(outname_eps.c_str());
0536 c->Print(outname_gif.c_str());
0537
0538
0539 variable = "Entryz-Exitz";
0540
0541
0542
0543 system = "TOB";
0544 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0545 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0546 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0547
0548 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0549 c->Divide(3,4);
0550 for (Int_t i=0; i<12; i++) {
0551 hn << histogram << i+1 <<std::endl;
0552 hn >> hname;
0553 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0554 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0555 c->cd(i+1);
0556 if (PV->KSok(rh[i] , ch[i])) {
0557 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0558 PV->KSdraw(rh[i] , ch[i]);
0559 rh[i]->Draw("h");
0560 ch[i]->Draw("h same");
0561 buf<<"KS="<<ks[i]<<std::endl;
0562 buf>>value;
0563 te->DrawTextNDC(0.5,0.7, value.c_str());
0564 hsum_TOB->Fill(ks[i]);
0565 leg.Clear();
0566 leg.AddEntry(rh[i],rver , "l");
0567 leg.AddEntry(ch[i],cver , "l");
0568 leg.Draw();
0569
0570 }
0571 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0572 }
0573 c->Print(outname_eps.c_str());
0574 c->Print(outname_gif.c_str());
0575
0576
0577 system = "TIB";
0578 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0579 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0580 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0581
0582 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0583 c->Divide(3,4);
0584 for (Int_t i=0; i<12; i++) {
0585 hn << histogram << i+1 <<std::endl;
0586 hn >> hname;
0587 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0588 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0589 c->cd(i+1);
0590 if (PV->KSok(rh[i] , ch[i])) {
0591 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0592 PV->KSdraw(rh[i] , ch[i]);
0593 rh[i]->Draw("h");
0594 ch[i]->Draw("h same");
0595 buf<<"KS="<<ks[i]<<std::endl;
0596 buf>>value;
0597 te->DrawTextNDC(0.5,0.7, value.c_str());
0598 hsum_TIB->Fill(ks[i]);
0599 leg.Clear();
0600 leg.AddEntry(rh[i],rver , "l");
0601 leg.AddEntry(ch[i],cver , "l");
0602 leg.Draw();
0603
0604 }
0605 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0606 }
0607 c->Print(outname_eps.c_str());
0608 c->Print(outname_gif.c_str());
0609
0610
0611 system = "TID";
0612 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0613 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0614 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0615
0616 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0617 c->Divide(3,4);
0618 for (Int_t i=0; i<12; i++) {
0619 hn << histogram << i+1 <<std::endl;
0620 hn >> hname;
0621 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0622 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0623 c->cd(i+1);
0624 if (PV->KSok(rh[i] , ch[i])) {
0625 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0626 PV->KSdraw(rh[i] , ch[i]);
0627 rh[i]->Draw("h");
0628 ch[i]->Draw("h same");
0629 buf<<"KS="<<ks[i]<<std::endl;
0630 buf>>value;
0631 te->DrawTextNDC(0.5,0.7, value.c_str());
0632 hsum_TID->Fill(ks[i]);
0633 leg.Clear();
0634 leg.AddEntry(rh[i],rver , "l");
0635 leg.AddEntry(ch[i],cver , "l");
0636 leg.Draw();
0637
0638 }
0639 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0640 }
0641 c->Print(outname_eps.c_str());
0642 c->Print(outname_gif.c_str());
0643
0644
0645 system = "TEC";
0646 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0647 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0648 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0649
0650 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0651 c->Divide(3,4);
0652 for (Int_t i=0; i<12; i++) {
0653 hn << histogram << i+1 <<std::endl;
0654 hn >> hname;
0655 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0656 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0657 c->cd(i+1);
0658 if (PV->KSok(rh[i] , ch[i])) {
0659 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0660 PV->KSdraw(rh[i] , ch[i]);
0661 rh[i]->Draw("h");
0662 ch[i]->Draw("h same");
0663 buf<<"KS="<<ks[i]<<std::endl;
0664 buf>>value;
0665 te->DrawTextNDC(0.5,0.7, value.c_str());
0666 hsum_TEC->Fill(ks[i]);
0667 leg.Clear();
0668 leg.AddEntry(rh[i],rver , "l");
0669 leg.AddEntry(ch[i],cver , "l");
0670 leg.Draw();
0671
0672 }
0673 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0674 }
0675 c->Print(outname_eps.c_str());
0676 c->Print(outname_gif.c_str());
0677
0678
0679 system = "BPIX";
0680 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0681 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0682 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0683
0684 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0685 c->Divide(3,4);
0686 for (Int_t i=0; i<12; i++) {
0687 hn << histogram << i+1 <<std::endl;
0688 hn >> hname;
0689 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0690 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0691 c->cd(i+1);
0692 if (PV->KSok(rh[i] , ch[i])) {
0693 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0694 PV->KSdraw(rh[i] , ch[i]);
0695 rh[i]->Draw("h");
0696 ch[i]->Draw("h same");
0697 buf<<"KS="<<ks[i]<<std::endl;
0698 buf>>value;
0699 te->DrawTextNDC(0.5,0.7, value.c_str());
0700 hsum_BPIX->Fill(ks[i]);
0701 leg.Clear();
0702 leg.AddEntry(rh[i],rver , "l");
0703 leg.AddEntry(ch[i],cver , "l");
0704 leg.Draw();
0705
0706 }
0707 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0708 }
0709 c->Print(outname_eps.c_str());
0710 c->Print(outname_gif.c_str());
0711
0712 system = "FPIX";
0713 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0714 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0715 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0716
0717 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0718 c->Divide(3,4);
0719 for (Int_t i=0; i<12; i++) {
0720 hn << histogram << i+1 <<std::endl;
0721 hn >> hname;
0722 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0723 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0724 c->cd(i+1);
0725 if (PV->KSok(rh[i] , ch[i])) {
0726 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0727 PV->KSdraw(rh[i] , ch[i]);
0728 rh[i]->Draw("h");
0729 ch[i]->Draw("h same");
0730 buf<<"KS="<<ks[i]<<std::endl;
0731 buf>>value;
0732 te->DrawTextNDC(0.5,0.7, value.c_str());
0733 hsum_FPIX->Fill(ks[i]);
0734 leg.Clear();
0735 leg.AddEntry(rh[i],rver , "l");
0736 leg.AddEntry(ch[i],cver , "l");
0737 leg.Draw();
0738
0739 }
0740 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0741 }
0742 c->Print(outname_eps.c_str());
0743 c->Print(outname_gif.c_str());
0744
0745
0746 variable = "Localx";
0747
0748
0749
0750 system = "TOB";
0751 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0752 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0753 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0754
0755 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0756 c->Divide(3,4);
0757 for (Int_t i=0; i<12; i++) {
0758 hn << histogram << i+1 <<std::endl;
0759 hn >> hname;
0760 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0761 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0762 c->cd(i+1);
0763 if (PV->KSok(rh[i] , ch[i])) {
0764 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0765 PV->KSdraw(rh[i] , ch[i]);
0766 rh[i]->Draw("h");
0767 ch[i]->Draw("h same");
0768 buf<<"KS="<<ks[i]<<std::endl;
0769 buf>>value;
0770 te->DrawTextNDC(0.5,0.7, value.c_str());
0771 hsum_TOB->Fill(ks[i]);
0772 leg.Clear();
0773 leg.AddEntry(rh[i],rver , "l");
0774 leg.AddEntry(ch[i],cver , "l");
0775 leg.Draw();
0776
0777 }
0778 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0779 }
0780 c->Print(outname_eps.c_str());
0781 c->Print(outname_gif.c_str());
0782
0783
0784 system = "TIB";
0785 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0786 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0787 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0788
0789 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0790 c->Divide(3,4);
0791 for (Int_t i=0; i<12; i++) {
0792 hn << histogram << i+1 <<std::endl;
0793 hn >> hname;
0794 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0795 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0796 c->cd(i+1);
0797 if (PV->KSok(rh[i] , ch[i])) {
0798 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0799 PV->KSdraw(rh[i] , ch[i]);
0800 rh[i]->Draw("h");
0801 ch[i]->Draw("h same");
0802 buf<<"KS="<<ks[i]<<std::endl;
0803 buf>>value;
0804 te->DrawTextNDC(0.5,0.7, value.c_str());
0805 hsum_TIB->Fill(ks[i]);
0806 leg.Clear();
0807 leg.AddEntry(rh[i],rver , "l");
0808 leg.AddEntry(ch[i],cver , "l");
0809 leg.Draw();
0810
0811 }
0812 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0813 }
0814 c->Print(outname_eps.c_str());
0815 c->Print(outname_gif.c_str());
0816
0817
0818 system = "TID";
0819 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0820 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0821 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0822
0823 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0824 c->Divide(3,4);
0825 for (Int_t i=0; i<12; i++) {
0826 hn << histogram << i+1 <<std::endl;
0827 hn >> hname;
0828 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0829 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0830 c->cd(i+1);
0831 if (PV->KSok(rh[i] , ch[i])) {
0832 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0833 PV->KSdraw(rh[i] , ch[i]);
0834 rh[i]->Draw("h");
0835 ch[i]->Draw("h same");
0836 buf<<"KS="<<ks[i]<<std::endl;
0837 buf>>value;
0838 te->DrawTextNDC(0.5,0.7, value.c_str());
0839 hsum_TID->Fill(ks[i]);
0840 leg.Clear();
0841 leg.AddEntry(rh[i],rver , "l");
0842 leg.AddEntry(ch[i],cver , "l");
0843 leg.Draw();
0844
0845 }
0846 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0847 }
0848 c->Print(outname_eps.c_str());
0849 c->Print(outname_gif.c_str());
0850
0851
0852 system = "TEC";
0853 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0854 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0855 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0856
0857 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0858 c->Divide(3,4);
0859 for (Int_t i=0; i<12; i++) {
0860 hn << histogram << i+1 <<std::endl;
0861 hn >> hname;
0862 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0863 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0864 c->cd(i+1);
0865 if (PV->KSok(rh[i] , ch[i])) {
0866 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0867 PV->KSdraw(rh[i] , ch[i]);
0868 rh[i]->Draw("h");
0869 ch[i]->Draw("h same");
0870 buf<<"KS="<<ks[i]<<std::endl;
0871 buf>>value;
0872 te->DrawTextNDC(0.5,0.7, value.c_str());
0873 hsum_TEC->Fill(ks[i]);
0874 leg.Clear();
0875 leg.AddEntry(rh[i],rver , "l");
0876 leg.AddEntry(ch[i],cver , "l");
0877 leg.Draw();
0878
0879 }
0880 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0881 }
0882 c->Print(outname_eps.c_str());
0883 c->Print(outname_gif.c_str());
0884
0885
0886 system = "BPIX";
0887 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0888 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0889 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0890
0891 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0892 c->Divide(3,4);
0893 for (Int_t i=0; i<12; i++) {
0894 hn << histogram << i+1 <<std::endl;
0895 hn >> hname;
0896 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0897 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0898 c->cd(i+1);
0899 if (PV->KSok(rh[i] , ch[i])) {
0900 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0901 PV->KSdraw(rh[i] , ch[i]);
0902 rh[i]->Draw("h");
0903 ch[i]->Draw("h same");
0904 buf<<"KS="<<ks[i]<<std::endl;
0905 buf>>value;
0906 te->DrawTextNDC(0.5,0.7, value.c_str());
0907 hsum_BPIX->Fill(ks[i]);
0908 leg.Clear();
0909 leg.AddEntry(rh[i],rver , "l");
0910 leg.AddEntry(ch[i],cver , "l");
0911 leg.Draw();
0912
0913 }
0914 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0915 }
0916 c->Print(outname_eps.c_str());
0917 c->Print(outname_gif.c_str());
0918
0919 system = "FPIX";
0920 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0921 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0922 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0923
0924 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0925 c->Divide(3,4);
0926 for (Int_t i=0; i<12; i++) {
0927 hn << histogram << i+1 <<std::endl;
0928 hn >> hname;
0929 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0930 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0931 c->cd(i+1);
0932 if (PV->KSok(rh[i] , ch[i])) {
0933 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0934 PV->KSdraw(rh[i] , ch[i]);
0935 rh[i]->Draw("h");
0936 ch[i]->Draw("h same");
0937 buf<<"KS="<<ks[i]<<std::endl;
0938 buf>>value;
0939 te->DrawTextNDC(0.5,0.7, value.c_str());
0940 hsum_FPIX->Fill(ks[i]);
0941 leg.Clear();
0942 leg.AddEntry(rh[i],rver , "l");
0943 leg.AddEntry(ch[i],cver , "l");
0944 leg.Draw();
0945
0946 }
0947 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0948 }
0949 c->Print(outname_eps.c_str());
0950 c->Print(outname_gif.c_str());
0951
0952
0953 variable = "Localy";
0954
0955
0956
0957 system = "TOB";
0958 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0959 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0960 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0961
0962 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0963 c->Divide(3,4);
0964 for (Int_t i=0; i<12; i++) {
0965 hn << histogram << i+1 <<std::endl;
0966 hn >> hname;
0967 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
0968 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
0969 c->cd(i+1);
0970 if (PV->KSok(rh[i] , ch[i])) {
0971 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
0972 PV->KSdraw(rh[i] , ch[i]);
0973 rh[i]->Draw("h");
0974 ch[i]->Draw("h same");
0975 buf<<"KS="<<ks[i]<<std::endl;
0976 buf>>value;
0977 te->DrawTextNDC(0.5,0.7, value.c_str());
0978 hsum_TOB->Fill(ks[i]);
0979 leg.Clear();
0980 leg.AddEntry(rh[i],rver , "l");
0981 leg.AddEntry(ch[i],cver , "l");
0982 leg.Draw();
0983
0984 }
0985 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
0986 }
0987 c->Print(outname_eps.c_str());
0988 c->Print(outname_gif.c_str());
0989
0990
0991 system = "TIB";
0992 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
0993 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
0994 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
0995
0996 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
0997 c->Divide(3,4);
0998 for (Int_t i=0; i<12; i++) {
0999 hn << histogram << i+1 <<std::endl;
1000 hn >> hname;
1001 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
1002 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
1003 c->cd(i+1);
1004 if (PV->KSok(rh[i] , ch[i])) {
1005 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
1006 PV->KSdraw(rh[i] , ch[i]);
1007 rh[i]->Draw("h");
1008 ch[i]->Draw("h same");
1009 buf<<"KS="<<ks[i]<<std::endl;
1010 buf>>value;
1011 te->DrawTextNDC(0.5,0.7, value.c_str());
1012 hsum_TIB->Fill(ks[i]);
1013 leg.Clear();
1014 leg.AddEntry(rh[i],rver , "l");
1015 leg.AddEntry(ch[i],cver , "l");
1016 leg.Draw();
1017
1018 }
1019 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
1020 }
1021 c->Print(outname_eps.c_str());
1022 c->Print(outname_gif.c_str());
1023
1024
1025 system = "TID";
1026 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
1027 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
1028 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
1029
1030 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
1031 c->Divide(3,4);
1032 for (Int_t i=0; i<12; i++) {
1033 hn << histogram << i+1 <<std::endl;
1034 hn >> hname;
1035 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
1036 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
1037 c->cd(i+1);
1038 if (PV->KSok(rh[i] , ch[i])) {
1039 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
1040 PV->KSdraw(rh[i] , ch[i]);
1041 rh[i]->Draw("h");
1042 ch[i]->Draw("h same");
1043 buf<<"KS="<<ks[i]<<std::endl;
1044 buf>>value;
1045 te->DrawTextNDC(0.5,0.7, value.c_str());
1046 hsum_TID->Fill(ks[i]);
1047 leg.Clear();
1048 leg.AddEntry(rh[i],rver , "l");
1049 leg.AddEntry(ch[i],cver , "l");
1050 leg.Draw();
1051
1052 }
1053 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
1054 }
1055 c->Print(outname_eps.c_str());
1056 c->Print(outname_gif.c_str());
1057
1058
1059 system = "TEC";
1060 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
1061 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
1062 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
1063
1064 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
1065 c->Divide(3,4);
1066 for (Int_t i=0; i<12; i++) {
1067 hn << histogram << i+1 <<std::endl;
1068 hn >> hname;
1069 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
1070 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
1071 c->cd(i+1);
1072 if (PV->KSok(rh[i] , ch[i])) {
1073 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
1074 PV->KSdraw(rh[i] , ch[i]);
1075 rh[i]->Draw("h");
1076 ch[i]->Draw("h same");
1077 buf<<"KS="<<ks[i]<<std::endl;
1078 buf>>value;
1079 te->DrawTextNDC(0.5,0.7, value.c_str());
1080 hsum_TEC->Fill(ks[i]);
1081 leg.Clear();
1082 leg.AddEntry(rh[i],rver , "l");
1083 leg.AddEntry(ch[i],cver , "l");
1084 leg.Draw();
1085
1086 }
1087 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
1088 }
1089 c->Print(outname_eps.c_str());
1090 c->Print(outname_gif.c_str());
1091
1092
1093 system = "BPIX";
1094 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
1095 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
1096 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
1097
1098 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
1099 c->Divide(3,4);
1100 for (Int_t i=0; i<12; i++) {
1101 hn << histogram << i+1 <<std::endl;
1102 hn >> hname;
1103 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
1104 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
1105 c->cd(i+1);
1106 if (PV->KSok(rh[i] , ch[i])) {
1107 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
1108 PV->KSdraw(rh[i] , ch[i]);
1109 rh[i]->Draw("h");
1110 ch[i]->Draw("h same");
1111 buf<<"KS="<<ks[i]<<std::endl;
1112 buf>>value;
1113 te->DrawTextNDC(0.5,0.7, value.c_str());
1114 hsum_BPIX->Fill(ks[i]);
1115 leg.Clear();
1116 leg.AddEntry(rh[i],rver , "l");
1117 leg.AddEntry(ch[i],cver , "l");
1118 leg.Draw();
1119
1120 }
1121 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
1122 }
1123 c->Print(outname_eps.c_str());
1124 c->Print(outname_gif.c_str());
1125
1126 system = "FPIX";
1127 string outname_eps = "pos_"+variable+"_"+system+"_KS.eps";
1128 string outname_gif = "pos_"+variable+"_"+system+"_KS.gif";
1129 histogram = ""+system+"Hit/"+variable+"_"+system+"_";
1130
1131 TCanvas * c = new TCanvas(system.c_str(),system.c_str(),600,800);
1132 c->Divide(3,4);
1133 for (Int_t i=0; i<12; i++) {
1134 hn << histogram << i+1 <<std::endl;
1135 hn >> hname;
1136 rh[i] = (TH1F*)rdir->Get(hname.c_str())->Clone();
1137 ch[i] = (TH1F*)cdir->Get(hname.c_str())->Clone();
1138 c->cd(i+1);
1139 if (PV->KSok(rh[i] , ch[i])) {
1140 ks[i] = PV->KSCompute(rh[i] , ch[i] , te );
1141 PV->KSdraw(rh[i] , ch[i]);
1142 rh[i]->Draw("h");
1143 ch[i]->Draw("h same");
1144 buf<<"KS="<<ks[i]<<std::endl;
1145 buf>>value;
1146 te->DrawTextNDC(0.5,0.7, value.c_str());
1147 hsum_FPIX->Fill(ks[i]);
1148 leg.Clear();
1149 leg.AddEntry(rh[i],rver , "l");
1150 leg.AddEntry(ch[i],cver , "l");
1151 leg.Draw();
1152
1153 }
1154 if (ks[i] < 0.1) outfile << ch[i]->GetName() <<" KS probability = "<< ks[i] <<" "<<endl;
1155 }
1156 c->Print(outname_eps.c_str());
1157 c->Print(outname_gif.c_str());
1158
1159
1160
1161
1162
1163 hsum_st -> Add (hsum_TIB);
1164 hsum_st -> Add (hsum_TOB);
1165 hsum_st -> Add (hsum_TID);
1166 hsum_st -> Add (hsum_TEC);
1167 hsum_px -> Add (hsum_BPIX);
1168 hsum_px -> Add (hsum_FPIX);
1169
1170 TCanvas * s = new TCanvas("s","s",600,800);
1171 s->Divide(2,4);
1172
1173 s->cd (1);
1174 hsum_TIB -> Draw();
1175 s->cd (2);
1176 hsum_TOB -> Draw();
1177 s->cd (3);
1178 hsum_TID -> Draw();
1179 s->cd (4);
1180 hsum_TEC -> Draw();
1181 s->cd (5);
1182 hsum_BPIX -> Draw();
1183 s->cd (6);
1184 hsum_FPIX -> Draw();
1185 s->cd (7);
1186 hsum_st -> Draw();
1187 s->cd (8);
1188 hsum_px -> Draw();
1189
1190 s->Print("pos_summary_KS.eps");
1191 s->Print("pos_summary_KS.gif");
1192
1193 }
1194
1195