10 #include <TObjString.h>
11 #include <TObjArray.h>
54 static TObjString ipz;
55 static TObjString trg;
56 static TObjString cnt;
57 static TObjString ncl;
58 ipz = Form(
"ip_z=%fcm",
fIpZ);
72 if (!trg.IsNull()) trg.Append(
" & ");
88 if ((mask &
kInel) != 0x0) AppendAnd(trg,
"INEL");
89 if ((mask &
kInelGt0) != 0x0) AppendAnd(trg,
"INEL>0");
90 if ((mask &
kNSD) != 0x0) AppendAnd(trg,
"NSD");
91 if ((mask &
kV0AND) != 0x0) AppendAnd(trg,
"V0AND");
92 if ((mask &
kA) != 0x0) AppendAnd(trg,
"A");
93 if ((mask &
kB) != 0x0) AppendAnd(trg,
"B");
94 if ((mask &
kC) != 0x0) AppendAnd(trg,
"C");
95 if ((mask &
kE) != 0x0) AppendAnd(trg,
"E");
96 if ((mask &
kMCNSD) != 0x0) AppendAnd(trg,
"MCNSD");
97 if ((mask &
kNClusterGt0) != 0x0) AppendAnd(trg,
"NCluster>0");
98 if ((mask &
kSatellite) != 0x0) AppendAnd(trg,
"Satellite");
123 andSel.Prepend(
" & ");
126 ret->SetYTitle(
"Events");
127 ret->SetFillColor(kRed+1);
128 ret->SetFillStyle(3001);
129 ret->GetXaxis()->SetBinLabel(
kBinAll,
"All events");
130 ret->GetXaxis()->SetBinLabel(
kBinB, Form(
"B (Coll.)%s",
132 ret->GetXaxis()->SetBinLabel(
kBinA, Form(
"A%s", andSel.Data()));
133 ret->GetXaxis()->SetBinLabel(
kBinC, Form(
"C%s", andSel.Data()));
134 ret->GetXaxis()->SetBinLabel(
kBinE, Form(
"E%s", andSel.Data()));
135 ret->GetXaxis()->SetBinLabel(
kBinInel,
"Coll. & INEL");
136 ret->GetXaxis()->SetBinLabel(
kBinInelGt0,
"Coll. & INEL>0");
137 ret->GetXaxis()->SetBinLabel(
kBinNSD,
"Coll. & NSD");
138 ret->GetXaxis()->SetBinLabel(
kBinV0AND,
"Coll. & V0AND");
139 ret->GetXaxis()->SetBinLabel(
kBinMCNSD,
"NSD (MC truth)");
141 ret->GetXaxis()->SetBinLabel(
kBinPileUp,
"w/Pileup");
142 ret->GetXaxis()->SetBinLabel(
kBinOffline,
"w/Offline");
144 ret->GetXaxis()->SetBinLabel(
kWithVertex,
"w/Vertex");
145 ret->GetXaxis()->SetBinLabel(
kWithTrigger, Form(
"w/Selected trigger (%s)",
147 ret->GetXaxis()->SetBinLabel(
kAccepted,
"Accepted by cut");
148 ret->GetXaxis()->SetNdivisions(
kAccepted,
false);
169 TH1I* ret =
new TH1I(name,
"Event selection status",
171 ret->SetYTitle(
"Events");
172 ret->SetFillColor(kBlue+1);
173 ret->SetFillStyle(3001);
174 ret->GetXaxis()->SetBinLabel(
kGoodEvent+1,
"Good");
175 ret->GetXaxis()->SetBinLabel(
kWrongCentrality+1,
"Out-of-range centrality");
176 ret->GetXaxis()->SetBinLabel(
kWrongTrigger+1,
"Wrong trigger");
177 ret->GetXaxis()->SetBinLabel(
kIsPileup+1,
"Pile-up");
178 ret->GetXaxis()->SetBinLabel(
kNoVertex+1,
"No IP_{z}");
179 ret->GetXaxis()->SetBinLabel(
kWrongVertex+1,
"Out-or-range IP_{z}");
194 while ((trg = static_cast<TObjString*>(next()))) {
198 if (s.IsNull())
continue;
199 if (s.CompareTo(
"INEL") == 0) trgMask |=
kInel;
200 else if (s.CompareTo(
"INEL>0") == 0) trgMask |=
kInelGt0;
201 else if (s.CompareTo(
"INELGT0") == 0) trgMask |=
kInelGt0;
202 else if (s.CompareTo(
"NSD") == 0) trgMask |=
kNSD;
203 else if (s.CompareTo(
"V0AND") == 0) trgMask |=
kV0AND;
204 else if (s.CompareTo(
"MCNSD") == 0) trgMask |=
kMCNSD;
205 else if (s.CompareTo(
"B") == 0) trgMask |=
kB;
206 else if (s.CompareTo(
"A") == 0) trgMask |=
kA;
207 else if (s.CompareTo(
"C") == 0) trgMask |=
kC;
208 else if (s.CompareTo(
"SAT") == 0) trgMask |=
kSatellite;
209 else if (s.CompareTo(
"E") == 0) trgMask |=
kE;
210 else if (s.CompareTo(
"NCLUSTER>0") == 0) trgMask |=
kNClusterGt0;
212 AliWarningGeneral(
"MakeTriggerMask",
213 Form(
"Unknown trigger %s", s.Data()));
223 TH1* hist,
TH1* status)
const
271 Warning(
"CheckEvent",
"event: 0x%x, mask: 0x%x, tmp: 0x%x, tmp|b: 0x%x",
275 Int_t mask = triggerMask;
289 if (vzMin < vzMax && !
HasIpZ()) {
296 if (vzMin < vzMax && !
InRange(vzMin, vzMax)) {
300 if (hist) hist->AddBinContent(
kAccepted);
314 std::cout <<
"Ipz: " <<
fIpZ <<
"cm " << (
HasIpZ() ?
"" :
"in")