void hype(char *filename="") { /* Author: A. Zenoni Date: long time ago This macro open a root file containing ntuple h126 and produces some "standard" plots to check the reconstruction code version. Input: filename (file containing the h126 ntuple) Output: hype.ps (file containing all the plots) */ gStyle->SetOptStat(111111); gStyle->SetStatW(0.4); float xlim=3.; float zlim=8.; TH1F *h10,*h11,*h12; TH2F *h13; TH1F *h20,*h21,*h22,*h23; TH1F *h30,*h31,*h32,*h33; TH1F *h40,*h41,*h42,*h43; TH1F *h50,*h51,*h52,*h53; TH2F *h70,*h71,*h72,*h73,*h74,*h75,*h76,*h77,*h78,*h79; TH2F *h80,*h81,*h82,*h83,*h84,*h85,*h86,*h87,*h88,*h89; TH2F *h90,*h91,*h92,*h93,*h94,*h95,*h96,*h97,*h98,*h99,*h100,*h101; TH1F *h110,*h111,*h112,*h113,*h114; TH1F *h120,*h121,*h122,*h123,*h124,*h125; TH1F *h130,*h131,*h132,*h133,*h134; TH1F *h140,*h141,*h142,*h143,*h144; TH1F *h150,*h151,*h152,*h153,*h154; TH1F *h160,*h161,*h162,*h163,*h164; TH2F *h170,*h171,*h180,*h181; TH1F *h172,*h182; f = new TFile(filename); c = new TCanvas("c","c",800,800); c->Divide(2,2); c1 = new TCanvas("c1","c1",900,800); c1->Divide(2,3); TPostScript ps("hype.ps",-111); h10 = new TH1F("h10","Ierpr",25,0.,5.); h11 = new TH1F("h11","Xv",100,-xlim,xlim); h12 = new TH1F("h12","Zv",100,-zlim,zlim); h13 = new TH2F("h13","Xv vs zv",100,-zlim,zlim,100,-xlim,xlim); c->cd(1); h126->Draw("Ierpr>>h10"); c->cd(2); h126->Draw("Xv>>h11","Ierpr==0"); h11->Fit("gaus"); //hi/fit 11(46:54) g c->cd(3); h126->Draw("Zv>>h12","Ierpr==0"); h12->Fit("gaus"); c->cd(4); h126->Draw("Xv:Zv>>h13","Ierpr==0"); h13->Draw("box"); c->Modified(); c->Update(); printf("Print return to continue or q to quit\n"); getchar(); //------------------------------------------------------------- // h20 = new TH1F("h20","Lambda",100,-90.,90.); h21 = new TH1F("h21","phi",100,-90.,90.); h22 = new TH1F("h22","stop vol K-",25,0.,5.); h23 = new TH1F("h23","vol num K-",100,0.,20.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Lambda>>h20", "Ierpr==0"); c->cd(2); h126->Draw("Phi>>h21", "Ierpr==0"); c->cd(3); h126->Draw("Stvkm>>h22", "Ierpr==0"); c->cd(4); h126->Draw("Tgnkm>>h23", "Ierpr==0"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // h30 = new TH1F("h30","vol num K-, target",32,0.5,8.5); h31 = new TH1F("h31","vol num K-, isim",100,0.,20.); h32 = new TH1F("h32","vol num K-, igla",100,0.,20.); h33 = new TH1F("h33","vol num K-, others",100,0.,20.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Tgnkm>>h30","Ierpr==0&&Stvkm==1"); c->cd(2); h126->Draw("Tgnkm>>h31","Ierpr==0&&Stvkm==2"); c->cd(3); h126->Draw("Tgnkm>>h32","Ierpr==0&&Stvkm==3"); c->cd(4); h126->Draw("Tgnkm>>h33","Ierpr==0&&Stvkm==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // //--------------------------------------------------------------- // h42 = new TH1F("h42","stop vol K+",25,0.,5.); h43 = new TH1F("h43","vol num K+",100,0.,20.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Lambda>>h20","Ierpr==0"); c->cd(2); h126->Draw("Phi>>h21","Ierpr==0"); c->cd(3); h126->Draw("Stvkp>>h42","Ierpr==0"); c->cd(4); h126->Draw("Tgnkp>>h43","Ierpr==0"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // h50= new TH1F("h50","vol num K+, target",32,0.5,8.5); h51 = new TH1F("h51","vol num K+, isim",100,0.,20.); h52 = new TH1F("h52","vol num K+, igla",100,0.,20.); h53 = new TH1F("h53","vol num K+, others",100,0.,20.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Tgnkp>>h50","Ierpr==0&&Stvkp==1"); c->cd(2); h126->Draw("Tgnkp>>h51","Ierpr==0&&Stvkp==2"); c->cd(3); h126->Draw("Tgnkp>>h52","Ierpr==0&&Stvkp==3"); c->cd(4); h126->Draw("Tgnkp>>h53","Ierpr==0&&Stvkp==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); //--------------------------------------------------------------- // DATI MONTECARLO //h60,"vol num K- (MC)",100,0. 20. //h61 "vol num K- (MC), target",32,0.5,8.5 //h62 "vol num K+ (MC)",100,0. 20. //h63 "vol num K+ (MC), target",32,0.5,8.5 // //nt/plot 123.numkmmc Ierpr==0,-60 //nt/plot 123.numkmmc Ierpr==0&&Stvkmmc==1 -61 //nt/plot 123.numkpmc Ierpr==0,-62 //nt/plot 123.numkpmc Ierpr==0&&Stvkpmc==1 -63 //printf("Print return to continue\n"); getchar(); //---------------------------------------------------------------- // h70 = new TH2F("h70","y vs x K- MRS",100,-10., 10., 100,-10., 10.); h71 = new TH2F("h71","y vs x K- MRS, targets",100,-10., 10., 100,-10., 10.); h72 = new TH2F("h72","y vs x K- MRS, ISIM+IGLA",100,-10., 10., 100,-10., 10.); h73 = new TH2F("h73","y vs x K- MRS, others",100,-10., 10., 100,-10., 10.); // h74 = new TH2F("h74","y vs z K- MRS",100,-15.,15.,100,-10., 10.); h75 = new TH2F("h75","y vs z K- MRS, targets",100,-15.,15.,100,-10., 10.); h76 = new TH2F("h76","y vs z K- MRS, ISIM+IGLA",100,-15.,15.,100,-10., 10.); h77 = new TH2F("h77","y vs z K- MRS, others",100,-15.,15.,100,-10., 10.); // h78 = new TH2F("h78","x vs z K- MRS",100,-15.,15.,100,-10., 10.); h79 = new TH2F("h79","x vs z K- MRS, targets",100,-15.,15.,100,-10., 10.); h80 = new TH2F("h80","x vs z K- MRS, ISIM+IGLA",100,-15.,15.,100,-10., 10.); h81 = new TH2F("h81","x vs z K- MRS, others",100,-15.,15.,100,-10., 10.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrkm:Xmrkm>>h70","Ierpr==0"); c->cd(2); h126->Draw("Ymrkm:Xmrkm>>h71","Ierpr==0&&Stvkm==1"); c->cd(3); h126->Draw("Ymrkm:Xmrkm>>h72","Ierpr==0&&(Stvkm==2||Stvkm==3)"); c->cd(4); h126->Draw("Ymrkm:Xmrkm>>h73","Ierpr==0&&Stvkm==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrkm:Zmrkm>>h74","Ierpr==0"); c->cd(2); h126->Draw("Ymrkm:Zmrkm>>h75","Ierpr==0&&Stvkm==1"); c->cd(3); h126->Draw("Ymrkm:Zmrkm>>h76","Ierpr==0&&(Stvkm==2||Stvkm==3)"); c->cd(4); h126->Draw("Ymrkm:Zmrkm>>h77","Ierpr==0&&Stvkm==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Xmrkm:Zmrkm>>h78","Ierpr==0"); c->cd(2); h126->Draw("Xmrkm:Zmrkm>>h79","Ierpr==0&&Stvkm==1"); c->cd(3); h126->Draw("Xmrkm:Zmrkm>>h80","Ierpr==0&&(Stvkm==2||Stvkm==3)"); c->cd(4); h126->Draw("Xmrkm:Zmrkm>>h81","Ierpr==0&&Stvkm==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); //--------------------------------------------------------------- // h90 = new TH2F("h90","y vs x K+ MRS",100,-10., 10., 100,-10., 10.); h91 = new TH2F("h91","y vs x K+ MRS, targets",100,-10., 10., 100,-10., 10.); h92 = new TH2F("h92","y vs x K+ MRS, ISIM+IGLA",100,-10., 10., 100,-10., 10.); h93 = new TH2F("h93","y vs x K+ MRS, others",100,-10., 10., 100,-10., 10.); // h94 = new TH2F("h94","y vs z K+ MRS",100,-15.,15.,100,-10., 10.); h95 = new TH2F("h95","y vs z K+ MRS, targets",100,-15.,15.,100,-10., 10.); h96 = new TH2F("h96","y vs z K+ MRS, ISIM+IGLA",100,-15.,15.,100,-10., 10.); h97 = new TH2F("h97","y vs z K+ MRS, others",100,-15.,15.,100,-10., 10.); // h98 = new TH2F("h98", "x vs z K+ MRS",100,-15.,15.,100,-10., 10.); h99 = new TH2F("h99", "x vs z K+ MRS, targets",100,-15.,15.,100,-10., 10.); h100= new TH2F("h100", "x vs z K+ MRS, ISIM+IGLA",100,-15.,15.,100,-10., 10.); h101= new TH2F("h101", "x vs z K+ MRS, others",100,-15.,15.,100,-10., 10.); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrkp:Xmrkp>>h90","Ierpr==0"); c->cd(2); h126->Draw("Ymrkp:Xmrkp>>h91","Ierpr==0&&Stvkp==1"); c->cd(3); h126->Draw("Ymrkp:Xmrkp>>h92","Ierpr==0&&(Stvkp==2||Stvkp==3)"); c->cd(4); h126->Draw("Ymrkp:Xmrkp>>h93","Ierpr==0&&Stvkp==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrkp:Zmrkp>>h94","Ierpr==0"); c->cd(2); h126->Draw("Ymrkp:Zmrkp>>h95","Ierpr==0&&Stvkp==1"); c->cd(3); h126->Draw("Ymrkp:Zmrkp>>h96","Ierpr==0&&(Stvkp==2||Stvkp==3)"); c->cd(4); h126->Draw("Ymrkp:Zmrkp>>h97","Ierpr==0&&Stvkp==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Xmrkp:Zmrkp>>h98","Ierpr==0"); c->cd(2); h126->Draw("Xmrkp:Zmrkp>>h99","Ierpr==0&&Stvkp==1"); c->cd(3); h126->Draw("Xmrkp:Zmrkp>>h100","Ierpr==0&&(Stvkp==2||Stvkp==3)"); c->cd(4); h126->Draw("Xmrkp:Zmrkp>>h101","Ierpr==0&&Stvkp==4"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // //----------------------------------------------------------------- // MUON + //----------------------------------------------------------------- // h110 = new TH1F("h110","fit code mu+",45,-3.,12.); h111 = new TH1F("h111","p mu+",100,0.15,0.3); h112 = new TH1F("h112","p mu+",100,0.22,0.25); h113 = new TH1F("h113","p mu+, forward.lt.90",100,0.22,0.25); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Fcodpp>>h110","Ierpr==0"); c->cd(2); h126->Draw("Pfitpp>>h111","Fcodpp==0&&Extrpp==1"); c->cd(3); h126->Draw("Pfitpp>>h112","Fcodpp==0&&Extrpp==1"); c->cd(4); h126->Draw("Pfitpp>>h113","Fcodpp==0&&Norpp<90&&Extrpp==1"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); //----------------------------------------------------------------- // c->cd(1); h120 = new TH1F("h120","Lambda mu+",100,-60.,60.); c->cd(2); h121 = new TH1F("h121","phi mu+",100,0.,360.); c->cd(3); h122 = new TH1F("h122","theta normal mu+",100,0.,180.); c->cd(4); h124 = new TH1F("h124","origin target mu+",32,0.5,8.5); h125 = new TH1F("h125","distance tk-vx mu+",100,0.,0.5); // c1->Clear();c1->Divide(2,3); c1->cd(1); h126->Draw("Lampp>>h120","Fcodpp==0"); c1->cd(2); h126->Draw("Phipp>>h121","Fcodpp==0"); c1->cd(3); h126->Draw("Norpp>>h122","Fcodpp==0"); c1->cd(4); h126->Draw("Tgnkp>>h124","Fcodpp==0"); c1->cd(5); h126->Draw("Disvpp>>h125","Fcodpp==0&&Extrpp==1"); c1->Modified(); c1->Update(); printf("Print return to continue\n"); getchar(); // //----------------------------------------------------------------- // PION - //------------------------------------------------------------------ // h130 = new TH1F("h130","fit code pi-",45,-3.,12.); h131 = new TH1F("h131","p pi-",100,0.15,0.32); h132 = new TH1F("h132","p pi-",100,0.25,0.30); h133 = new TH1F("h133","p pi-, forward.lt.90",100,0.25,0.30); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Fcodnn>>h130","Ierpr==0"); c->cd(2); h126->Draw("Pfitnn>>h131","Fcodnn==0&&Extrnn==1"); c->cd(3); h126->Draw("Pfitnn>>h132","Fcodnn==0&&Extrnn==1"); c->cd(4); h126->Draw("Pfitnn>>h133","Fcodnn==0&&Nornn<90&&Extrnn==1"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); //----------------------------------------------------------------- // h140 = new TH1F("h140","Lambda pi-",100,-60.,60.); h141 = new TH1F("h141","phi pi-",100,0.,360.); h142 = new TH1F("h142","theta normal pi-",100,0.,180.); h143 = new TH1F("h143","origin target pi-",32,0.5,8.5); h144 = new TH1F("h144","distance tk-vx pi-",100,0.,0.5); // c1->Clear();c1->Divide(2,3); c1->cd(1); h126->Draw("Lamnn>>h140","Fcodnn==0"); c1->cd(2); h126->Draw("Phinn>>h141","Fcodnn==0"); c1->cd(3); h126->Draw("Nornn>>h142","Fcodnn==0"); c1->cd(4); h126->Draw("Tgnkm>>h143","Fcodnn==0"); c1->cd(5); h126->Draw("Disvnn>>h144","Fcodnn==0&&Extrnn==1"); c1->Modified(); c1->Update(); printf("Print return to continue\n"); getchar(); // //----------------------------------------------------------------- // PROTON + //------------------------------------------------------------------ // h150 = new TH1F("h150","fit code proton",45,-3.,12.); h151 = new TH1F("h151","p proton",100,0.15,0.70); h152 = new TH1F("h152","p proton",100,0.15,0.70); h153 = new TH1F("h153","p proton, forward.lt.90",100,0.15,0.70); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Fcodpn>>h150","Ierpr==0"); c->cd(2); h126->Draw("Pfitpn>>h151","Fcodpn==0"); c->cd(3); h126->Draw("Pfitpn>>h152","Fcodpn==0"); c->cd(4); h126->Draw("Pfitpn>>h153","Fcodpn==0&&Norpn<90"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); //----------------------------------------------------------------- // h160 = new TH1F("h160","Lambda proton",100,-60.,60.); h161 = new TH1F("h161","phi proton",100,0.,360.); h162 = new TH1F("h162","theta normal proton",100,0.,180.); h163 = new TH1F("h163","origin target proton",32,0.5,8.5); h164 = new TH1F("h164","distance tk-vx proton",100,0.,0.5); // c1->Clear();c1->Divide(2,3); c1->cd(1); h126->Draw("Lampn>>h160","Fcodpn==0"); c1->cd(2); h126->Draw("Phipn>>h161","Fcodpn==0"); c1->cd(3); h126->Draw("Norpn>>h162","Fcodpn==0"); c1->cd(4); h126->Draw("Tgnkm>>h163","Fcodpn==0"); c1->cd(5); h126->Draw("Disvpn>>h164","Fcodpn==0&&Extrpn==1"); c1->Modified(); c1->Update(); printf("Print return to continue\n"); getchar(); //----------------------------------------------------------------- // RECONSTRUCTED K- AND K+ STOP POINT //----------------------------------------------------------------- // h170 = new TH2F("h170","Rec. y vs x, K- in MRS, forw",100,-10., 10., 100,-10., 10.); h171 = new TH2F("h171","Rec. y vs x, K- in DRS,forw",100,-1.,1.,100,-5.,5.); h172 = new TH1F("h172","Rec. x, K- in DRS, forw",100,-0.5,0.5); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrckm:Xmrckm>>h170","Fcodnn==0&&Extrnn==1&&Nornn<80"); c->cd(2); h126->Draw("Ydrckm:Xdrckm>>h171","Fcodnn==0&&Extrnn==1&&Nornn<80"); c->cd(3); h126->Draw("Xdrckm>>h172","Fcodnn==0&&Extrnn==1&&Nornn<80"); c->Modified(); c->Update(); printf("Print return to continue\n"); getchar(); // // h180 = new TH2F("h180","Rec. y vs x, K+ in MRS, forw",100,-10., 10., 100,-10., 10.); h181 = new TH2F("h181","Rec. y vs x, K+ in DRS, forw",100,-1.,1.,100,-5.,5.); h182 = new TH1F("h182","Rec. x, K+ in DRS, forw",100,-0.5,0.5); // c->Clear();c->Divide(2,2); c->cd(1); h126->Draw("Ymrckp:Xmrckp>>h180","Fcodpp==0&&Extrpp==1&&Norpp<80"); c->cd(2); h126->Draw("Ydrckp:Xdrckp>>h181","Fcodpp==0&&Extrpp==1&&Norpp<80"); c->cd(3); h126->Draw("Xdrckp>>h182","Fcodpp==0&&Extrpp==1&&Norpp<80"); c->Modified(); c->Update(); //------------------------------------------------------------------ ps.Close(); }