19 #include "TObjString.h"
20 #include "TObjArray.h"
32 AliMuonAnalysisOutput(outputList,name),
45 AliMuonAnalysisOutput(filename,outputName),
73 TString matchTrigNames =
"Nopt Apt Lpt Hpt";
76 TString countTypeNames =
"bendPlaneCount nonBendPlaneCount bothPlanesCount allTracksCount";
79 TString histoTypeKeys =
"Chamber Slat Board checkRejectedBoard";
82 TString effMethodKeys =
"FromTrk FromTrg";
85 TString trackSelNames =
"Match NoSelMatch";
97 if ( ! GetMergeableCollection() )
return 0x0;
105 histo =
static_cast<TH1*
>(GetSum(physSel, trigClassNames, centrality, histoName));
108 histo->SetName(histoName.Data());
109 histo->SetTitle(histoName.Data());
115 histo->SetDirectory(0);
119 for (
Int_t ich=0; ich<4; ++ich ) {
121 histo =
static_cast<TH1*
>(GetSum(physSel, trigClassNames, centrality, histoName));
124 histo->SetName(histoName.Data());
125 histo->SetTitle(histoName.Data());
131 histo->SetDirectory(0);
136 for (
Int_t ich=0; ich<4; ++ich ) {
138 histo =
static_cast<TH1*
>(GetSum(physSel, trigClassNames, centrality, histoName));
141 histo->SetName(histoName.Data());
142 histo->SetTitle(histoName.Data());
148 histo->SetDirectory(0);
154 histo =
static_cast<TH1*
>(GetSum(physSel, trigClassNames, centrality, histoName));
157 histo->SetName(histoName.Data());
158 histo->SetTitle(histoName.Data());
163 histo->SetDirectory(0);
176 Int_t nBoardBins = 234;
177 Float_t boardLow = 1.-0.5, boardHigh = (
Float_t)nBoardBins+1.-0.5;
178 const Char_t* boardName =
"board";
185 histo =
new TH1F(histoName, histoName, 4, 11.-0.5, 4.+11.-0.5);
186 histo->GetXaxis()->SetTitle(
"chamber");
187 histo->GetYaxis()->SetTitle(
"counts");
191 histo =
new TH1F(histoName, histoName, 18, 0.-0.5, 18.-0.5);
192 histo->GetXaxis()->SetTitle(
"slat");
193 histo->GetYaxis()->SetTitle(
"counts");
197 histo =
new TH1F(histoName, histoName, nBoardBins, boardLow, boardHigh);
198 histo->GetXaxis()->SetTitle(boardName);
199 histo->GetYaxis()->SetTitle(
"counts");
203 histo =
new TH2F(histoName.Data(),
"Rejected tracks motivation", 5, 20.5, 25.5, nBoardBins, boardLow, boardHigh);
204 histo->GetXaxis()->SetBinLabel(1,
"Many pads");
205 histo->GetXaxis()->SetBinLabel(2,
"Few pads");
206 histo->GetXaxis()->SetBinLabel(3,
"Outside geom");
207 histo->GetXaxis()->SetBinLabel(4,
"Tracker track");
208 histo->GetXaxis()->SetBinLabel(5,
"Masked board");
209 histo->GetYaxis()->SetTitle(boardName);
223 if ( itype < kHcheckBoard && icount >= 0 ) histoName +=
static_cast<TObjString*
>(
fCountTypeKeys->At(icount))->GetString();
224 if ( itype >= 0 ) histoName +=
static_cast<TObjString*
>(
fHistoTypeKeys->At(itype))->String();
225 if ( itype !=
kHchamberEff && ichamber >= 0 ) histoName += Form(
"Ch%i", 11+ichamber);
226 if ( itrackSel >= 0 ) histoName +=
static_cast<TObjString*
>(
fTrackSelKeys->At(itrackSel))->String();
227 if ( imatch >= 0 ) histoName +=
static_cast<TObjString*
>(
fMatchTrigKeys->At(imatch))->String();
228 if ( imethod >= 0 ) histoName +=
static_cast<TObjString*
>(
fEffMethodKeys->At(imethod))->String();
TList * GetEffHistoList(TString physSel, TString trigClassNames, TString centrality, Int_t itrackSel, Int_t imatch, Int_t imethod)
Counts per board histogram index.
TObjArray * fCountTypeKeys
!<! Selection names
TObjArray * fTrackSelKeys
TH1 * GetCountHisto(Int_t itype, Int_t icount, Int_t ichamber, Int_t itrackSel, Int_t imatch, Int_t imethod)
Output for Trig chamber effieincy.
TObjArray * fHistoTypeKeys
!<! Count type keys
Counts per cathode histogram index.
Check rejected tracks per board.
virtual ~AliTrigChEffOutput()
TObjArray * fMatchTrigKeys
!<! Efficiency methods keys
AliTrigChEffOutput(TObjArray *outputList, const char *name="")
TString GetHistoName(Int_t itype, Int_t icount, Int_t ichamber, Int_t itrackSel, Int_t imatch, Int_t imethod)
TObjArray * fEffMethodKeys
!<! Base histogram name
Counts per slat histogram index.