1 #ifndef STMTDQAMAKER_HH
2 #define STMTDQAMAKER_HH
14 #ifndef ST_NO_NAMESPACES
34 #if !defined(ST_NO_TEMPLATE_DEF_ARGS) || defined(__CINT__)
35 typedef vector<Int_t> IntVec;
37 typedef vector<Int_t, allocator<Int_t>> IntVec;
49 void setVertexMode(
const Int_t mode);
50 void setMaxVtxZ(
const Double_t max);
51 void setMaxVtxR(
const Double_t max);
52 void setApplyMaxVtxDzCut(
const Bool_t cut);
53 void setMaxVtxDz(
const Double_t max);
54 void setTrackPtLimits(
const Double_t min,
const Double_t max);
55 void setTrackPhiLimits(
const Double_t min,
const Double_t max);
56 void setTrackEtaLimits(
const Double_t min,
const Double_t max);
57 void setMinNHitsFit(
const Int_t min);
58 void setMinNHitsDedx(
const Int_t min);
59 void setMinFitHitsFraction(
const Double_t min);
60 void setMaxDca(
const Double_t max);
62 void setMinMuonPt(
const Double_t min);
63 void setNsigmaPiCut(
const Double_t min,
const Double_t max);
64 void setMuonDeltaZ(
const Double_t min,
const Double_t max);
65 void setMuonDeltaY(
const Double_t min,
const Double_t max);
66 void setMuonDeltaTof(
const Double_t min,
const Double_t max);
67 void setMtdHitTrigger(
const Bool_t trig);
69 void setPrintMemory(
const Bool_t pMem = kTRUE);
70 void setPrintCpu(
const Bool_t pCpu = kTRUE);
71 void setPrintConfig(
const Bool_t print = kTRUE);
72 void setTriggerIDs(
const IntVec
id);
77 Int_t processStEvent();
79 Int_t processPicoDst();
81 Int_t getMtdHitTHUB(
const Int_t backleg)
const;
84 Double_t rotatePhi(Double_t phi)
const;
85 void addCutToHisto(TH1 *h,
const Int_t bin,
const char *label,
const Float_t value = -9999999);
88 Bool_t isValidTrack(
const StMuTrack *t)
const ;
91 Bool_t isMuonCandidate(
const StMuTrack *track);
93 Bool_t isMuonCandidate(
const Double_t pt,
const Double_t nSigmaPi,
const Double_t dz,
const Double_t dy,
const Double_t dtof,
const Bool_t isTrig);
94 static const Int_t kNQTboard = 8;
103 TString mCollisionSystem;
113 Bool_t mApplyVtxDzCut;
123 Double_t mMinFitHitsFraction;
128 Double_t mMinNsigmaPi;
129 Double_t mMaxNsigmaPi;
130 Double_t mMinMuonDeltaZ;
131 Double_t mMaxMuonDeltaZ;
132 Double_t mMinMuonDeltaY;
133 Double_t mMaxMuonDeltaY;
134 Double_t mMinMuonDeltaTof;
135 Double_t mMaxMuonDeltaTof;
136 Bool_t mMtdHitTrigger;
147 TH2F *mhVtxZvsVpdVzDefault;
148 TH1F *mhVtxZDiffDefault;
149 TH2F *mhVtxZvsVpdVzClosest;
150 TH1F *mhVtxZDiffClosest;
151 TH1F *mhVtxClosestIndex;
156 TH2F *mhVtxZDiffVsTpcVz;
163 TH2F *mhgRefMultVsRefMult;
164 TH2F *mhTpcVzVsRefMult;
165 TH2F *mhDiffVzVsRefMult;
166 TH2F *mhZdcRateVsRefMult;
167 TH2F *mhBbcRateVsRefMult;
168 TH2F *mhTofMultVsRefMult;
177 TH2F *mhTrkNHitsFitVsPt;
178 TH2F *mhTrkNHitsPossVsPt;
179 TH2F *mhTrkNHitsDedxVsPt;
180 TH2F *mhTrkDedxVsMom;
181 TH2F *mhTrkDedxVsPhi;
182 TH2F *mhTrkNsigmaPiVsMom;
185 TH2F *mhTrkBetaVsMom;
187 TH2F *mhTofMthTrkLocaly;
188 TH2F *mhTofMthTrkLocalz;
193 TH2F *mhMtdQTAdcVsTacAll;
194 TH2F *mhMtdQTJ2J3Diff;
195 TH2F *mhMixMtdTacSumvsMxqMtdTacSum[kNQTboard][2];
196 TH2F *mhMtdVpdTacDiffMT001;
197 TH2F *mhMtdVpdTacDiffMT001Mth;
198 TH2F *mhMtdVpdTacDiffMT001Muon;
199 TH2F *mhMtdVpdTacDiffMT101;
200 TH2F *mhMtdVpdTacDiffMT101Mth;
201 TH2F *mhMtdVpdTacDiffMT101Muon;
203 TH1F *mhNMT101Signal;
204 TH1F *mhNTF201Signal;
207 TH1F *mhMtdTriggerTime[2];
209 TH2F *mhMtdRawHitMap;
210 TH2F *mhMtdRawHitLeTime;
211 TH2F *mhMtdRawHitTrTime;
212 TH1F *mhMtdRawHitLeNEast;
213 TH1F *mhMtdRawHitLeNWest;
214 TH1F *mhMtdRawHitTrNEast;
215 TH1F *mhMtdRawHitTrNWest;
216 TH2F *mhMtdRawHitLeNDiff;
217 TH2F *mhMtdRawHitTrNDiff;
221 TH2F *mhMtdHitLeTimeDiff;
222 TH2F *mhMtdHitTotWest;
223 TH2F *mhMtdHitTotEast;
224 TH2F *mhMtdHitTrigTime;
225 TH2F *mhMtdHitTrigTimeTrkMth;
227 TH1F *mhMtdTrigNHits;
228 TH2F *mhMtdTrigHitMap;
229 TH1F *mhMtdTrigMthNHits;
230 TH2F *mhMtdTrigMthHitMap;
233 TH1F *mhMtdNMatchHits;
234 TH2F *mhMtdMatchHitMap;
235 TH1F *mhMtdMatchTrkPt;
236 TH2F *mhMtdMatchTrkPhiEta;
237 TH2F *mhMtdMatchTrkPhiPt;
238 TH2F *mhMtdMatchDzVsChan;
239 TH2F *mhMtdMatchDzVsPtPos;
240 TH2F *mhMtdMatchDzVsPtNeg;
241 TH2F *mhMtdMatchDyVsChan;
242 TH2F *mhMtdMatchDyVsPtPos;
243 TH2F *mhMtdMatchDyVsPtNeg;
244 TH2F *mhMtdMatchDtofVsPt;
245 TH2F *mhMtdMatchMtdTofVsChan;
246 TH2F *mhMtdMatchExpTofVsChan;
247 TH2F *mhMtdMatchDtofVsChan;
248 TH2F *mhMtdMatchLocalyVsChan;
249 TH2F *mhMtdMatchLocalzVsChan;
255 TH2F *mhMuonPhiVsEta;
261 TH2F *mhInvMvsPtLSpos;
262 TH2F *mhInvMvsPtLSneg;
268 TProfile *mhBBCrateVsRun;
269 TProfile *mhZDCrateVsRun;
270 TProfile *mhRefMultVsRun;
271 TProfile *mhgRefMultVsRun;
272 TProfile *mhTpcVxVsRun;
273 TProfile *mhTpcVyVsRun;
274 TProfile *mhTpcVzVsRun;
275 TProfile *mhVpdVzVsRun;
276 TProfile *mhDiffVzVsRun;
277 TProfile *mhpTrkPtVsRun;
278 TProfile *mhpTrkEtaVsRun;
279 TProfile *mhpTrkPhiVsRun;
280 TProfile *mhpTrkDcaVsRun;
281 TProfile *mhNHitsFitVsRun;
282 TProfile *mhNHitsPossVsRun;
283 TProfile *mhNHitsDedxVsRun;
284 TProfile *mhDedxVsRun;
285 TProfile *mhNsigmaPiVsRun;
286 TProfile *mhNsigmaEVsRun;
287 TProfile *mhNsigmaKVsRun;
288 TProfile *mhNsigmaPVsRun;
289 TProfile *mhBetaVsRun;
290 TProfile *mhNMtdHitsVsRun;
291 TProfile *mhNMtdTrigHitsVsRun;
292 TProfile *mhNMtdMthHitsVsRun;
293 TProfile *mhNMuonPosVsRun;
294 TProfile *mhNMuonNegVsRun;
295 TProfile *mhNMuonPairULVsRun;
296 TProfile *mhNMuonPairLSPosVsRun;
297 TProfile *mhNMuonPairLSNegVsRun;
299 virtual const char *GetCVS()
const {
300 static const char cvs[]=
"Tag $Name: $Id: built " __DATE__
" " __TIME__ ;
306 inline void StMtdQAMaker::setMtdTrigUtil(
StMtdTrigUtil* trig) { mTrigUtil = trig; }
307 inline void StMtdQAMaker::setPrintMemory(
const Bool_t pMem) { mPrintMemory = pMem; }
308 inline void StMtdQAMaker::setPrintCpu(
const Bool_t pCpu) { mPrintCpu = pCpu; }
309 inline void StMtdQAMaker::setPrintConfig(
const Bool_t print) { mPrintConfig = print; }
310 inline void StMtdQAMaker::setVertexMode(
const Int_t mode) { mVertexMode = mode; }
311 inline void StMtdQAMaker::setApplyMaxVtxDzCut(
const Bool_t cut) { mApplyVtxDzCut = cut; }
312 inline void StMtdQAMaker::setMaxVtxZ(
const Double_t max) { mMaxVtxZ = max; }
313 inline void StMtdQAMaker::setMaxVtxR(
const Double_t max) { mMaxVtxR = max; }
314 inline void StMtdQAMaker::setMaxVtxDz(
const Double_t max) { mMaxVtxDz = max; }
315 inline void StMtdQAMaker::setMinNHitsFit(
const Int_t min) { mMinNHitsFit = min; }
316 inline void StMtdQAMaker::setMinNHitsDedx(
const Int_t min) { mMinNHitsDedx = min; }
317 inline void StMtdQAMaker::setMinFitHitsFraction(
const Double_t min){ mMinFitHitsFraction = min;}
318 inline void StMtdQAMaker::setMaxDca(
const Double_t max) { mMaxDca = max; }
319 inline void StMtdQAMaker::setTriggerIDs(
const IntVec
id) { mTriggerIDs = id; }
320 inline void StMtdQAMaker::setTrackPtLimits(
const Double_t min,
const Double_t max)
321 { mMinTrkPt = min; mMaxTrkPt = max; }
323 inline void StMtdQAMaker::setTrackPhiLimits(
const Double_t min,
const Double_t max)
324 { mMinTrkPhi = min; mMaxTrkPhi = max; }
326 inline void StMtdQAMaker::setTrackEtaLimits(
const Double_t min,
const Double_t max)
327 { mMinTrkEta = min; mMaxTrkPhi = max;}
329 inline void StMtdQAMaker::setMinMuonPt(
const Double_t min)
330 { mMinMuonPt = min; }
332 inline void StMtdQAMaker::setNsigmaPiCut(
const Double_t min,
const Double_t max)
333 { mMinNsigmaPi = min; mMaxNsigmaPi = max; }
335 inline void StMtdQAMaker::setMuonDeltaZ(
const Double_t min,
const Double_t max)
336 { mMinMuonDeltaZ = min; mMaxMuonDeltaZ = max; }
338 inline void StMtdQAMaker::setMuonDeltaY(
const Double_t min,
const Double_t max)
339 { mMinMuonDeltaY = min; mMaxMuonDeltaY = max; }
341 inline void StMtdQAMaker::setMuonDeltaTof(
const Double_t min,
const Double_t max)
342 { mMinMuonDeltaTof = min; mMaxMuonDeltaTof = max; }
344 inline void StMtdQAMaker::setMtdHitTrigger(
const Bool_t trig)
345 { mMtdHitTrigger = trig; }
Holds information about track parameters.
Main class that keeps TClonesArrays with main classes.
Holds information about the hit from MTD.