-//________________________________________________________________________
-void AliTRDCalibTask::Plot()
-{
- //
- // Plot the histos stored in the TList
- //
-
- if(!fListHist) return;
-
- /////////////////////////////////////
- // Take the debug stuff
- /////////////////////////////////////
-
- TH1I *nEvents = (TH1I *) fListHist->FindObject("NEvents");
-
- TH2F *absoluteGain = (TH2F *) fListHist->FindObject("AbsoluteGain");
-
- TH1F *trdTrack = (TH1F *) fListHist->FindObject("TRDTrack");
- TH1F *trdTrackOffline = (TH1F *) fListHist->FindObject("TRDTrackOffline");
- TH1F *trdTrackStandalone = (TH1F *) fListHist->FindObject("TRDTrackStandalone");
-
- TH2F *tpctrdTrack = (TH2F *) fListHist->FindObject("NbTPCTRDtrack");
-
- TH1F *nbTimeBin = (TH1F *) fListHist->FindObject("NbTimeBin");
- TH1F *nbTimeBinOffline = (TH1F *) fListHist->FindObject("NbTimeBinOffline");
- TH1F *nbTimeBinStandalone = (TH1F *) fListHist->FindObject("NbTimeBinStandalone");
-
- TH1F *nbClusters = (TH1F *) fListHist->FindObject("NbClusters");
- TH1F *nbClustersOffline = (TH1F *) fListHist->FindObject("NbClustersOffline");
- TH1F *nbClustersStandalone = (TH1F *) fListHist->FindObject("NbClustersStandalone");
-
- TH1F *nbTracklets = (TH1F *) fListHist->FindObject("NbTracklets");
- TH1F *nbTrackletsOffline = (TH1F *) fListHist->FindObject("NbTrackletsOffline");
- TH1F *nbTrackletsStandalone = (TH1F *) fListHist->FindObject("NbTrackletsStandalone");
-
- /////////////////////////////////////
- // Take the calibration objects
- /////////////////////////////////////
-
- TH2I *ch2d = (TH2I *) fListHist->FindObject("CH2d");
- TProfile2D *ph2d = (TProfile2D *) fListHist->FindObject("PH2d");
-
- TH2I *ch2dSum = (TH2I *) fListHist->FindObject("CH2dSum");
- TProfile2D *ph2dSum = (TProfile2D *) fListHist->FindObject("PH2dSum");
-
- TH2I *ch2dSM = (TH2I *) fListHist->FindObject("CH2dSM");
- TProfile2D *ph2dSM = (TProfile2D *) fListHist->FindObject("PH2dSM");
-
- AliTRDCalibraVdriftLinearFit *linearfit = (AliTRDCalibraVdriftLinearFit *) fListHist->FindObject("AliTRDCalibraVdriftLinearFit");
-
- ////////////////////////////////////////////////
- // Add the AliTRDCalibraVdriftLinearFit
- ///////////////////////////////////////////////
-
- Int_t first = 0;
- TH2S *histolinearfitsum = 0x0;
-
- if(linearfit) {
- for(Int_t det = 0; det < 540; det++) {
- if(linearfit->GetLinearFitterHisto(det)){
- if(TMath::Abs(first)<0.0001){
- histolinearfitsum = linearfit->GetLinearFitterHisto(det);
- first += 1;
- }
- else {
- if (histolinearfitsum) {
- histolinearfitsum->Add(linearfit->GetLinearFitterHisto(det));
- }
- }
- }
- }
- }
-
- ///////////////////////////
- // Style
- //////////////////////////
-
- gStyle->SetPalette(1);
- gStyle->SetOptStat(1111);
- gStyle->SetOptFit(1111);
- gStyle->SetPadBorderMode(0);
- gStyle->SetCanvasColor(10);
- gStyle->SetPadLeftMargin(0.13);
- gStyle->SetPadRightMargin(0.13);
-
- /////////////////////////
- // Plot
- ////////////////////////
-
- if(nEvents) {
-
- TCanvas *debugEvents = new TCanvas("cNEvents","cNEvents",10,10,510,510);
- debugEvents->cd(1);
- if(nEvents) nEvents->Draw();
-
- }
-
- if(absoluteGain) {
-
- TCanvas *debugAbsoluteGain = new TCanvas("cAbsoluteGain","cAbsoluteGain",10,10,510,510);
- debugAbsoluteGain->cd(1);
- if(absoluteGain) absoluteGain->Draw();
-
- }
-
- if(trdTrack || tpctrdTrack) {
-
- TCanvas *debugtrdtpcTrack = new TCanvas("TRDtracktpctrdtrack","TRDtracktpctrdtrack",10,10,510,510);
- debugtrdtpcTrack->Divide(2,1);
- debugtrdtpcTrack->cd(1);
- if(trdTrack) trdTrack->Draw();
- if(trdTrackOffline) trdTrackOffline->Draw("same");
- if(trdTrackStandalone) trdTrackStandalone->Draw("same");
- TLegend *leg = new TLegend(0.4,0.6,0.89,0.89);
- if(trdTrack) leg->AddEntry(trdTrack,"All","p");
- if(trdTrackOffline) leg->AddEntry(trdTrackOffline,"Offline","p");
- if(trdTrackStandalone) leg->AddEntry(trdTrackStandalone,"Standalone","p");
- leg->Draw("same");
- debugtrdtpcTrack->cd(2);
- if(tpctrdTrack) tpctrdTrack->Draw();
- TLine *line = new TLine(0.0,0.0,100.0,100.0);
- line->Draw("same");
-
- }
-
- if(nbTimeBin || nbTracklets || nbClusters) {
-
- TCanvas *debugTracklets = new TCanvas("TRDtimebintrackletcluster","TRDtimebintrackletcluster",10,10,510,510);
- debugTracklets->Divide(3,1);
- debugTracklets->cd(1);
- if(nbTimeBin) nbTimeBin->Draw();
- if(nbTimeBinOffline) nbTimeBinOffline->Draw("same");
- if(nbTimeBinStandalone) nbTimeBinStandalone->Draw("same");
- TLegend *lega = new TLegend(0.4,0.6,0.89,0.89);
- if(nbTimeBin) lega->AddEntry(nbTimeBin,"All","p");
- if(nbTimeBinOffline) lega->AddEntry(nbTimeBinOffline,"Offline","p");
- if(nbTimeBinStandalone) lega->AddEntry(nbTimeBinStandalone,"Standalone","p");
- lega->Draw("same");
- debugTracklets->cd(2);
- if(nbTracklets) nbTracklets->Draw();
- if(nbTrackletsOffline) nbTrackletsOffline->Draw("same");
- if(nbTrackletsStandalone) nbTrackletsStandalone->Draw("same");
- TLegend *legb = new TLegend(0.4,0.6,0.89,0.89);
- if(nbTracklets) legb->AddEntry(nbTracklets,"All","p");
- if(nbTrackletsOffline) legb->AddEntry(nbTrackletsOffline,"Offline","p");
- if(nbTrackletsStandalone) legb->AddEntry(nbTrackletsStandalone,"Standalone","p");
- legb->Draw("same");
- debugTracklets->cd(3);
- if(nbClusters) nbClusters->Draw();
- if(nbClustersOffline) nbClustersOffline->Draw("same");
- if(nbClustersStandalone) nbClustersStandalone->Draw("same");
- TLegend *legc = new TLegend(0.4,0.6,0.89,0.89);
- if(nbClusters) legc->AddEntry(nbClusters,"All","p");
- if(nbClustersOffline) legc->AddEntry(nbClustersOffline,"Offline","p");
- if(nbClustersStandalone) legc->AddEntry(nbClustersStandalone,"Standalone","p");
- legc->Draw("same");
-
- }
-
- if(ch2dSum || ph2dSum || histolinearfitsum) {
-
- TCanvas *debugSum = new TCanvas("SumCalibrationObjects","SumCalibrationObjects",10,10,510,510);
- debugSum->Divide(3,1);
- debugSum->cd(1);
- if(ch2dSum) ch2dSum->Draw("lego");
- debugSum->cd(2);
- if(ph2dSum) ph2dSum->Draw("lego");
- debugSum->cd(3);
- if(histolinearfitsum) histolinearfitsum->Draw();
-
- }
-
- if(ch2dSM || ph2dSM) {
-
- TCanvas *debugSM = new TCanvas("SMCalibrationObjects","SMCalibrationObjects",10,10,510,510);
- debugSM->Divide(2,1);
- debugSM->cd(1);
- if(ch2dSM) ch2dSM->Draw("lego");
- debugSM->cd(2);
- if(ph2dSM) ph2dSM->Draw("lego");
-
- }
-
- if(ch2d || ph2d) {
-
- TCanvas *debug = new TCanvas("CalibrationObjects","CalibrationObjects",10,10,510,510);
- debug->Divide(2,1);
- debug->cd(1);
- if(ch2d) ch2d->Draw("lego");
- debug->cd(2);
- if(ph2d) ph2d->Draw("lego");
-
- }
-
-}