]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/QA/tasks/AliAnalysisTaskD0Trigger.h
- added task for testing the D0 trigger cuts with both HLT and offline tracks as...
[u/mrichter/AliRoot.git] / HLT / QA / tasks / AliAnalysisTaskD0Trigger.h
CommitLineData
cd785861 1// $Id$
2//* This file is property of and copyright by the ALICE HLT Project *
3//* ALICE Experiment at CERN, All rights reserved. *
4//* See cxx source for full Copyright notice *
5
6#ifndef ALIANALYSISTASKD0TRIGGER_H
7#define ALIANALYSISTASKD0TRIGGER_H
8
9
10/** @file AliAnalysisTaskD0Trigger.h
11 @author Gaute Ovrebekk
12 @date
13 @brief An analysis task for the D0 Trigger
14*/
15
16class TH1F;
17class TList;
18class TObjArray;
19class AliESDVertex;
20class AliExternalTrackParam;
21class AliAODVertex;
22
23#include "AliAnalysisTaskSE.h"
24#include <vector>
25
26class AliAnalysisTaskD0Trigger : public AliAnalysisTaskSE {
27
28 public:
29 AliAnalysisTaskD0Trigger();
30 AliAnalysisTaskD0Trigger(const char *name,float cuts[7]);
31 virtual ~AliAnalysisTaskD0Trigger() {}
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *option);
34 virtual void Terminate(Option_t *);
35 virtual void NotifyRun();
36
37 private:
38 /** copy constructor */
39 AliAnalysisTaskD0Trigger(const AliAnalysisTaskD0Trigger&);
40 /** assignment operator */
41 AliAnalysisTaskD0Trigger& operator=(const AliAnalysisTaskD0Trigger&);
42
43 TList *fOutputList; // list of output histograms
44
45 void SingleTrackSelect(AliExternalTrackParam*, AliESDVertex*);
46 void RecD0(Int_t&,AliESDVertex *,bool);
47
48 //from AliD0toKpi
49 Double_t InvMass(AliExternalTrackParam* d1, AliExternalTrackParam* d2);
50 void cosThetaStar(AliExternalTrackParam* n, AliExternalTrackParam* p,Double_t &D0,Double_t &D0bar);
51 Double_t pointingAngle(AliExternalTrackParam* n, AliExternalTrackParam* p, Double_t *pv, Double_t *sv);
52 Double_t Pt(AliExternalTrackParam* d1, AliExternalTrackParam* d2);
53 AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray, Double_t b, const AliESDVertex *v, bool useKF);
54
55 /// pt cut for decay, minimum [GeV/c]
56 float fPtMin;
57 /// Distance between decay tracks [cm] ??
58 float fdca;
59 /// Inv. mass half width [GeV]
60 float finvMass;
61 /// Decay angle
62 float fcosThetaStar;
63 /// Distance from primary vertex for decay tracks [cm]
64 float fd0;
65 /// Product of d0 for the two decay tracks [cm^2]
66 float fd0d0;
67 /// Pionting angle
68 float fcosPoint;
69
70 Double_t mD0PDG;
71
72 /// D0 inv. mass plot
73 TH1F *fD0massHLT;
74 TH1F *fD0ptHLT;
75 TH1F *fD0massOFF;
76 TH1F *fD0ptOFF;
77
78 vector<AliExternalTrackParam*> fPos;
79 vector<AliExternalTrackParam*> fNeg;
80
81 TObjArray *ftwoTrackArray;
82
83 Int_t fTotalD0HLT;
84 Int_t fTotalD0OFF;
85 Double_t fField;
86
87 Int_t fNevents;
88
89 bool fuseKF;
90
91 /// the default configuration entry for this component
92 static const char* fgkOCDBEntry; //!transient
93
94 ClassDef(AliAnalysisTaskD0Trigger, 1);
95
96};
97
98#endif