From 638916c4a979d2d9d5355f42c7a6e976e4b10f50 Mon Sep 17 00:00:00 2001 From: gconesab Date: Tue, 1 Jul 2014 17:04:52 +0200 Subject: [PATCH] add few histograms to control low gain channels --- .../AliAnaCalorimeterQA.cxx | 66 +++++++++++++++++-- .../AliAnaCalorimeterQA.h | 13 +++- 2 files changed, 69 insertions(+), 10 deletions(-) diff --git a/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.cxx b/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.cxx index f89914448ba..a069c705fb7 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.cxx @@ -119,6 +119,8 @@ fhNCells(0), fhNCellsCutAmpMin(0), fhAmplitude(0), fhAmpId(0), fhEtaPhiAmp(0), fhTime(0), fhTimeVz(0), fhTimeId(0), fhTimeAmp(0), +fhAmpIdLowGain(0), fhTimeIdLowGain(0), fhTimeAmpLowGain(0), + fhCellECross(0), fhCaloCorrNClusters(0), fhCaloCorrEClusters(0), fhCaloCorrNCells(0), fhCaloCorrECells(0), @@ -137,8 +139,9 @@ fhEMod(0), fhAmpMod(0), f fhNClustersMod(0), fhNCellsMod(0), fhNCellsPerClusterMod(0), fhNCellsPerClusterModNoCut(0), -fhGridCells(0), fhGridCellsE(0), fhGridCellsTime(0), -fhTimeAmpPerRCU(0), fhIMMod(0), +fhGridCells(0), fhGridCellsE(0), fhGridCellsTime(0), +fhGridCellsLowGain(0), fhGridCellsELowGain(0), fhGridCellsTimeLowGain(0), +fhTimeAmpPerRCU(0), fhIMMod(0), // Weight studies fhECellClusterRatio(0), fhECellClusterLogRatio(0), @@ -394,6 +397,7 @@ void AliAnaCalorimeterQA::CellHistograms(AliVCaloCells *cells) Float_t amp = 0.; Double_t time = 0.; Int_t id = -1; + Bool_t highG = kFALSE; Float_t recalF = 1.; Int_t bc = GetReader()->GetInputEvent()->GetBunchCrossNumber(); @@ -424,6 +428,7 @@ void AliAnaCalorimeterQA::CellHistograms(AliVCaloCells *cells) amp = cells->GetAmplitude(iCell)*recalF; time = cells->GetTime(iCell); id = cells->GetCellNumber(iCell); + highG = cells->GetCellHighGain(id); // Amplitude recalibration if set GetCaloUtils()->RecalibrateCellAmplitude(amp, fCalorimeter, id); @@ -448,7 +453,7 @@ void AliAnaCalorimeterQA::CellHistograms(AliVCaloCells *cells) fhAmplitude->Fill(amp); fhAmpId ->Fill(amp,id); fhAmpMod ->Fill(amp,nModule); - + if(!highG) fhAmpIdLowGain->Fill(amp,id); //E cross for exotic cells if(amp > 0.05) { @@ -481,6 +486,12 @@ void AliAnaCalorimeterQA::CellHistograms(AliVCaloCells *cells) fhGridCells ->Fill(icols,irows); fhGridCellsE->Fill(icols,irows,amp); + if(!highG) + { + fhGridCellsLowGain ->Fill(icols,irows); + fhGridCellsELowGain->Fill(icols,irows,amp); + } + if(fFillAllCellTimeHisto) { //printf("%s: time %g\n",fCalorimeter.Data(), time); @@ -493,9 +504,16 @@ void AliAnaCalorimeterQA::CellHistograms(AliVCaloCells *cells) fhTimeId ->Fill(time,id); fhTimeAmp ->Fill(amp,time); fhGridCellsTime->Fill(icols,irows,time); + if(!highG) fhGridCellsTimeLowGain->Fill(icols,irows,time); fhTimeMod ->Fill(time,nModule); fhTimeAmpPerRCU [nModule*fNRCU+iRCU]->Fill(amp, time); + if(!highG) + { + fhTimeIdLowGain ->Fill(time,id); + fhTimeAmpLowGain->Fill(amp,time); + } + } } @@ -2520,8 +2538,12 @@ TList * AliAnaCalorimeterQA::GetCreateOutputObjects() fhAmpId = new TH2F ("hAmpId","#it{E}_{cell}", nfineptbins,ptfinemin,ptfinemax,fNMaxRows*fNMaxCols*fNModules,0,fNMaxRows*fNMaxCols*fNModules); fhAmpId->SetXTitle("#it{E}_{cell} (GeV)"); outputContainer->Add(fhAmpId); + + fhAmpIdLowGain = new TH2F ("hAmpIdLG","Low gain: #it{E}_{cell}", nfineptbins,ptfinemin,ptfinemax,fNMaxRows*fNMaxCols*fNModules,0,fNMaxRows*fNMaxCols*fNModules); + fhAmpIdLowGain->SetXTitle("#it{E}_{cell} (GeV)"); + outputContainer->Add(fhAmpIdLowGain); - if(fFillAllCellTimeHisto) + if(fFillAllCellTimeHisto) { fhCellTimeSpreadRespectToCellMax = new TH2F ("hCellTimeSpreadRespectToCellMax","t_{cell max}-t_{cell i} per cluster", nptbins,ptmin,ptmax,tdbins,tdmin,tdmax); fhCellTimeSpreadRespectToCellMax->SetXTitle("#it{E} (GeV)"); @@ -2563,6 +2585,17 @@ TList * AliAnaCalorimeterQA::GetCreateOutputObjects() fhTimeAmp->SetXTitle("#it{E}_{cell} (GeV)"); outputContainer->Add(fhTimeAmp); + fhTimeIdLowGain = new TH2F ("hTimeIdLG","Low gain: #it{t}_{cell} vs Absolute Id", + ntimebins,timemin,timemax,fNMaxRows*fNMaxCols*fNModules,0,fNMaxRows*fNMaxCols*fNModules); + fhTimeIdLowGain->SetXTitle("#it{t}_{cell} (ns)"); + fhTimeIdLowGain->SetYTitle("Cell Absolute Id"); + outputContainer->Add(fhTimeIdLowGain); + + fhTimeAmpLowGain = new TH2F ("hTimeAmpLG","Low gain: #it{t}_{cell} vs #it{E}_{cell}",nptbins*2,ptmin,ptmax,ntimebins,timemin,timemax); + fhTimeAmpLowGain->SetYTitle("#it{t}_{cell} (ns)"); + fhTimeAmpLowGain->SetXTitle("#it{E}_{cell} (GeV)"); + outputContainer->Add(fhTimeAmpLowGain); + } fhCellECross = new TH2F ("hCellECross","1 - Energy in cross around cell / cell energy", @@ -2755,13 +2788,32 @@ TList * AliAnaCalorimeterQA::GetCreateOutputObjects() fhGridCellsE->SetXTitle("column (eta direction)"); outputContainer->Add(fhGridCellsE); + fhGridCellsLowGain = new TH2F ("hGridCellsLG",Form("Low gain: Entries in grid of cells"), + colmaxs+2,-1.5,colmaxs+0.5, rowmaxs+2,-1.5,rowmaxs+0.5); + fhGridCellsLowGain->SetYTitle("row (phi direction)"); + fhGridCellsLowGain->SetXTitle("column (eta direction)"); + outputContainer->Add(fhGridCellsLowGain); + + fhGridCellsELowGain = new TH2F ("hGridCellsELG","Low gain: Accumulated energy in grid of cells", + colmaxs+2,-1.5,colmaxs+0.5, rowmaxs+2,-1.5,rowmaxs+0.5); + fhGridCellsELowGain->SetYTitle("row (phi direction)"); + fhGridCellsELowGain->SetXTitle("column (eta direction)"); + outputContainer->Add(fhGridCellsELowGain); + + if(fFillAllCellTimeHisto) { - fhGridCellsTime = new TH2F ("hGridCellsTime","Accumulated time in grid of cells", - colmaxs+2,-1.5,colmaxs+0.5, rowmaxs+2,-1.5,rowmaxs+0.5); + fhGridCellsTime = new TH2F ("hGridCellsTime","Accumulated time in grid of cells", + colmaxs+2,-1.5,colmaxs+0.5, rowmaxs+2,-1.5,rowmaxs+0.5); fhGridCellsTime->SetYTitle("row (phi direction)"); fhGridCellsTime->SetXTitle("column (eta direction)"); - outputContainer->Add(fhGridCellsTime); + outputContainer->Add(fhGridCellsTime); + + fhGridCellsTimeLowGain = new TH2F ("hGridCellsTimeLG","Low gain: Accumulated time in grid of cells", + colmaxs+2,-1.5,colmaxs+0.5, rowmaxs+2,-1.5,rowmaxs+0.5); + fhGridCellsTimeLowGain->SetYTitle("row (phi direction)"); + fhGridCellsTimeLowGain->SetXTitle("column (eta direction)"); + outputContainer->Add(fhGridCellsTimeLowGain); } fhNCellsPerClusterMod = new TH2F*[fNModules]; diff --git a/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h b/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h index 7defb5baca7..de72e7920f1 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h +++ b/PWGGA/CaloTrackCorrelations/AliAnaCalorimeterQA.h @@ -282,15 +282,19 @@ public: TH1F * fhNCells; //! Number of towers/crystals with signal TH1F * fhNCellsCutAmpMin; //! Number of towers/crystals with signal, with min amplitude TH1F * fhAmplitude; //! Amplitude measured in towers/crystals - TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower. + TH2F * fhAmpId; //! Amplitude measured in towers/crystals vs id of tower. TH3F * fhEtaPhiAmp; //! eta vs phi vs amplitude, cells TH1F * fhTime; //! Time measured in towers/crystals TH2F * fhTimeVz; //! Time measured in towers/crystals vs vertex z component, for E > 0.5 TH2F * fhTimeId; //! Time vs Absolute cell Id - TH2F * fhTimeAmp; //! Time vs Amplitude + TH2F * fhTimeAmp; //! Time vs Amplitude - TH2F * fhCellECross; //! 1 - Energy in cross around cell / cell energy + TH2F * fhAmpIdLowGain; //! Amplitude measured in towers/crystals vs id of tower, low gain towers + TH2F * fhTimeIdLowGain; //! Time vs Absolute cell Id, low gain + TH2F * fhTimeAmpLowGain; //! Time vs Amplitude, low gain + + TH2F * fhCellECross; //! 1 - Energy in cross around cell / cell energy //Calorimeters Correlation TH2F * fhCaloCorrNClusters; //! EMCAL vs PHOS, number of clusters @@ -337,6 +341,9 @@ public: TH2F * fhGridCells ; //! Cells ordered in column/row for different module, Reco TH2F * fhGridCellsE ; //! Cells ordered in column/row for different module, weighted with energy, Reco TH2F * fhGridCellsTime ; //! Cells ordered in column/row for different module, weighted with time, Reco + TH2F * fhGridCellsLowGain ; //! Cells ordered in column/row for different module, Reco, low gain + TH2F * fhGridCellsELowGain ; //! Cells ordered in column/row for different module, weighted with energy, Reco, low gain + TH2F * fhGridCellsTimeLowGain ; //! Cells ordered in column/row for different module, weighted with time, Reco, low gain TH2F ** fhTimeAmpPerRCU; //! Time vs Amplitude measured in towers/crystals different RCU TH2F ** fhIMMod; //! cluster pairs invariant mass, different module, -- 2.39.3