#include "jpsiHist.h" void jpsiHist::Book(){ h1 = new TH1F("h1","h1",60, -0.3, 0.3); h2 = new TH1F("h2","h2",60, -0.3, 0.3); h3 = new TH1F("h3","h3",70, 2.93, 3.28); z01h = new TH1F("z01","Z0-1",50,-100.,100.); z02h = new TH1F("z02","Z0-2",50,-100.,100.); dzh = new TH1F("dz","dz",50,0.,10.); PtDiMu = new TH1F("PtDiMu","PTDiMu",40,0.,100.); PtDiMuSmall = new TH1F("PtDiMuSmall","PTDiMuSmall",40,0.,10.); LxyEr = new TH1F("LxyER","LxyEr",40,0.,1.); LxyEr1 = new TH1F("LxyER1","LxyEr",40,0.,.1); D01 = new TH1F("D01","d01",40,-2.,2.); D02 = new TH1F("D02","d02",40,-2.,2.); D02vsD01 = new TH2F("D02vsD01","d02vsd01",40,-2.,2.,40, -2., 2.); D01c = new TH1F("D01c","d01",100,-.05,.05); D02c = new TH1F("D02c","d02",100,-.05,.05); D02vsD01c = new TH2F("D02vsD01c","d02vsd01",50,-.05,.05,50, -.05, .05); PtMu1 = new TH1F("PtMu1","PtMu1",50,0.,10.); PtMu2 = new TH1F("PtMu2","PtMu2",50,0.,10.); Mu1Type = new TH1F("Mu1Type","Mu1Type",21,0.,21.); Mu2Type = new TH1F("Mu2Type","Mu2Type",21,0.,21.); CMu1X = new TH1F("CMu1X","CMu1X",40,0.,15.); CMu2X = new TH1F("CMu2X","CMu2X",40,0.,15.); CThAx1 = new TH1F("CThAx1","CThAx1",50,0.,50.); CThAx2 = new TH1F("CThAx2","CThAx2",50,0.,50.); CThSt1 = new TH1F("CThSt1","CThSt1",50,0.,50.); CThSt2 = new TH1F("CThSt2","CThSt2",50,0.,50.); Si1 = new TH1F("Si1","Si1",11,0.,10.); Si2 = new TH1F("Si2","Si2",11,0.,10.); M1 = new TH1F("M1","M1",100,2.8,3.5); JPsiMassHisto = new TH1F("JpsiMass","JpsiMass",100, 2.93, 3.28); M1D0Sig = new TH1F("M1D0S0", "M1 D0/S0", 100, -10.0, 10.0); M2D0Sig = new TH1F("M2D0S0", "M2 D0/S0", 100, -10.0, 10.0); FitPrb1 = new TH1F("FitProb","Fit Prob", 100, 0., 1.); SiLayer1 = new TH1F("SiLayer1","SiLayer", 4, 0. ,3.); SiLayer2 = new TH1F("SiLayer2","SiLayer", 4, 0. ,3.); BeamTypeRun = new TH1F("BeamTypeRun","BeamTypeRun",300,130000,160000); Runs = new TH1F("Runs","BeamTypeRun",300,130000,160000); outNTTree = new TTree("Fitter","Fitter"); } void jpsiHist::Write(){ h1->Write(); h2->Write(); h3->Write(); z01h->Write(); z02h->Write(); dzh->Write(); PtDiMu->Write(); PtDiMuSmall->Write(); LxyEr->Write(); LxyEr1->Write(); D01->Write(); D02->Write(); D02vsD01->Write(); ; PtMu1->Write(); PtMu2 ->Write(); Mu1Type->Write(); Mu2Type->Write(); CMu1X->Write(); CMu2X->Write(); CThAx1->Write(); CThAx2->Write(); CThSt1->Write(); CThSt2->Write(); Si1->Write(); Si2->Write(); M1->Write(); JPsiMassHisto->Write(); M1D0Sig->Write(); M2D0Sig->Write(); FitPrb1->Write(); SiLayer1->Write(); SiLayer2->Write(); BeamTypeRun->Write(); Runs->Write(); outNTTree->Write(); } void jpsiHist::Draw(){ //===================================== int pos=40; int step=20; pos+=step; TCanvas *myCanvas = new TCanvas("CMassLife","Mass and Life",400, pos, 800, 600); myCanvas->Divide(2,2); myCanvas->cd(1); if(h3!=0) h3->Draw(); myCanvas->cd(2); if(h2!=0) h2->Draw(); myCanvas->cd(3); if(h1!=0) h1->Draw(); pos+=step; TCanvas *myCanvas1 = new TCanvas("CZ0","Z0",400, pos, 800, 600); myCanvas1->Divide(2,2); myCanvas1->cd(1); if(z01h!=0) z01h->Draw(); myCanvas1->cd(2); if(z02h!=0) z02h->Draw(); myCanvas1->cd(3); if(dzh!=0) dzh->Draw(); pos+=step; TCanvas *myCanvas15 = new TCanvas("CPt","Pt",400, pos, 800, 600); myCanvas15->Divide(2,2); myCanvas15->cd(1); if(PtDiMu!=0) PtDiMu->Draw(); myCanvas15->cd(2); if(PtDiMuSmall!=0) PtDiMuSmall->Draw(); pos+=step; TCanvas *myCanvas2 = new TCanvas("CLxyErrors","Lxy Errors",400, pos, 800, 600); myCanvas2->Divide(2,2); myCanvas2->cd(1); if(LxyEr!=0) LxyEr->Draw(); myCanvas2->cd(2); if(LxyEr1!=0) LxyEr1->Draw(); pos+=step; TCanvas *myCanvas2a = new TCanvas("CD0","D0(uncorrected)",400, pos, 800, 600); myCanvas2a->Divide(2,2); myCanvas2a->cd(1); if(D01!=0) D01->Draw(); myCanvas2a->cd(2); if(D02!=0) D02->Draw(); myCanvas2a->cd(3); if(D02vsD01!=0)D02vsD01->Draw(); pos+=step; TCanvas *myCanvas2b = new TCanvas("CD0c","Corrected D0",400, pos, 800, 600); myCanvas2b->Divide(2,2); myCanvas2b->cd(1); if(D01c!=0) D01c->Draw(); myCanvas2b->cd(2); if(D02c!=0) D02c->Draw(); myCanvas2b->cd(3); if(D02vsD01c!=0) D02vsD01c->Draw(); pos+=step; TCanvas *myCanvas3 = new TCanvas("CMuPtTy","Mu Pt and Type",400, pos, 800, 600); myCanvas3->Divide(2,2); myCanvas3->cd(1); if(PtMu1!=0) PtMu1->Draw(); myCanvas3->cd(2); if(PtMu2!=0) PtMu2->Draw(); myCanvas3->cd(3); if(Mu1Type!=0) Mu1Type->Draw(); myCanvas3->cd(4); if(Mu2Type!=0) Mu2Type->Draw(); pos+=step; TCanvas *myCanvas4 = new TCanvas("CMuChi","Mu Chi",400, pos, 800, 600); myCanvas4->Divide(2,2); myCanvas4->cd(1); if(CMu1X!=0) CMu1X->Draw(); myCanvas4->cd(2); if(CMu2X!=0) CMu2X->Draw(); pos+=step; TCanvas *myCanvas4b = new TCanvas("CTrkAxSt","Tracking",400, pos, 800, 600); myCanvas4b->Divide(2,2); myCanvas4b->cd(1); if(CThAx1!=0) CThAx1->Draw(); myCanvas4b->cd(2); if(CThAx2!=0) CThAx2->Draw(); myCanvas4b->cd(3); if(CThSt1!=0) CThSt1->Draw(); myCanvas4b->cd(4); if(CThSt2!=0) CThSt2->Draw(); pos+=step; TCanvas *myCanvas5 = new TCanvas("CSi","SiLayer0",400, pos, 800, 600); myCanvas5->Divide(2,2); myCanvas5->cd(3); if(Si1!=0) Si1->Draw(); myCanvas5->cd(4); if(Si2!=0) Si2->Draw(); pos+=step; TCanvas *myCanvas6 = new TCanvas("CMassD0Sig","Mass and D0 sigma",400, pos, 800, 600); myCanvas6->Divide(2,2); myCanvas6->cd(1); if(M1!=0) M1->Draw(); myCanvas6->cd(2); if(JPsiMassHisto!=0) JPsiMassHisto->Draw(); myCanvas6->cd(3); if(M1D0Sig!=0) M1D0Sig->Draw(); myCanvas6->cd(4); if(M2D0Sig!=0) M2D0Sig->Draw(); pos+=step; TCanvas *myCanvas8 = new TCanvas("CProbSiLayer0","Prob, Hits",400, pos, 800, 600); myCanvas8->Divide(2,2); myCanvas8->cd(1); if(FitPrb1!=0) FitPrb1->Draw(); myCanvas8->cd(2); if(SiLayer1!=0) SiLayer1->Draw(); myCanvas8->cd(3); if(SiLayer2!=0) SiLayer2->Draw(); pos+=step; TCanvas *myCanvas9 = new TCanvas("CRuns","Runs",400, pos, 800, 600); myCanvas9->Divide(2,2); myCanvas9->cd(1); if(BeamTypeRun!=0)BeamTypeRun->Draw(); myCanvas9->cd(2); if(Runs!=0) Runs->Draw(); } void jpsiHist::Load(){ h1 = (TH1F*)gDirectory->Get("h1"); h2 = (TH1F*)gDirectory->Get("h2"); h3 = (TH1F*)gDirectory->Get("h3"); z01h = (TH1F*)gDirectory->Get("z01"); z02h = (TH1F*)gDirectory->Get("z02"); dzh = (TH1F*)gDirectory->Get("dz"); PtDiMu = (TH1F*)gDirectory->Get("PtDiMu"); PtDiMuSmall = (TH1F*)gDirectory->Get("PtDiMuSmall"); LxyEr = (TH1F*)gDirectory->Get("LxyER"); LxyEr1 = (TH1F*)gDirectory->Get("LxyER1"); D01 = (TH1F*)gDirectory->Get("D01"); D02 = (TH1F*)gDirectory->Get("D02"); D02vsD01 = (TH2F*)gDirectory->Get("D02vsD01"); D01c = (TH1F*)gDirectory->Get("D01c"); D02c = (TH1F*)gDirectory->Get("D02c"); D02vsD01c = (TH2F*)gDirectory->Get("D02vsD01c"); PtMu1 = (TH1F*)gDirectory->Get("PtMu1"); PtMu2 = (TH1F*)gDirectory->Get("PtMu2"); Mu1Type = (TH1F*)gDirectory->Get("Mu1Type"); Mu2Type = (TH1F*)gDirectory->Get("Mu2Type"); CMu1X = (TH1F*)gDirectory->Get("CMu1X"); CMu2X = (TH1F*)gDirectory->Get("CMu2X"); CThAx1 = (TH1F*)gDirectory->Get("CThAx1"); CThAx2 = (TH1F*)gDirectory->Get("CThAx2"); CThSt1 = (TH1F*)gDirectory->Get("yCThSt1"); CThSt2 = (TH1F*)gDirectory->Get("CThSt2"); Si1 = (TH1F*)gDirectory->Get("Si1"); Si2 = (TH1F*)gDirectory->Get("Si2"); M1 = (TH1F*)gDirectory->Get("M1"); JPsiMassHisto = (TH1F*)gDirectory->Get("JpsiMass"); M1D0Sig = (TH1F*)gDirectory->Get("M1D0S0"); M2D0Sig = (TH1F*)gDirectory->Get("M2D0S0"); FitPrb1 = (TH1F*)gDirectory->Get("FitProb"); SiLayer1 = (TH1F*)gDirectory->Get("SiLayer1"); SiLayer2 = (TH1F*)gDirectory->Get("SiLayer2"); BeamTypeRun = (TH1F*)gDirectory->Get("BeamTypeRun"); Runs = (TH1F*)gDirectory->Get("Runs"); outNTTree = (TTree*)gDirectory->Get("Fitter"); }