]>
Commit | Line | Data |
---|---|---|
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 | ||
16 | class TH1F; | |
17 | class TList; | |
18 | class TObjArray; | |
19 | class AliESDVertex; | |
20 | class AliExternalTrackParam; | |
21 | class AliAODVertex; | |
22 | ||
23 | #include "AliAnalysisTaskSE.h" | |
24 | #include <vector> | |
25 | ||
26 | class 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 | ||
80ec6f2e | 45 | void SingleTrackSelect(AliExternalTrackParam* t, AliESDVertex* pV); |
46 | void RecD0(Int_t& nD0,AliESDVertex *pV,bool isHLT); | |
cd785861 | 47 | |
48 | //from AliD0toKpi | |
49 | Double_t InvMass(AliExternalTrackParam* d1, AliExternalTrackParam* d2); | |
80ec6f2e | 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); | |
cd785861 | 52 | Double_t Pt(AliExternalTrackParam* d1, AliExternalTrackParam* d2); |
53 | AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray, Double_t b, const AliESDVertex *v, bool useKF); | |
54 | ||
80ec6f2e | 55 | float fPtMin; // pt cut for decay, minimum [GeV/c] |
56 | float fdca; // Distance between decay tracks [cm] ?? | |
57 | float finvMass; // Inv. mass half width [GeV] | |
58 | float fcosThetaStar; // Decay angle | |
59 | float fd0; // Distance from primary vertex for decay tracks [cm] | |
60 | float fd0d0; // Product of d0 for the two decay tracks [cm^2] | |
61 | float fcosPoint; // Pionting angle | |
62 | ||
63 | Double_t fD0PDG; // Mass of D0 from PDG | |
64 | ||
65 | ||
66 | TH1F *fD0massHLT; // D0 inv. mass plot from HLT | |
67 | TH1F *fD0ptHLT; // D0 pT plot from HLT | |
68 | TH1F *fD0massOFF; // D0 inv. mass plot from offline | |
69 | TH1F *fD0ptOFF; // D0 pT plot from offline | |
70 | ||
71 | vector<AliExternalTrackParam*> fPos; // vector for positive tracks | |
72 | vector<AliExternalTrackParam*> fNeg; // vector for negative tracks | |
73 | ||
74 | TObjArray *ftwoTrackArray; // Array for the two decay products | |
75 | ||
76 | Int_t fTotalD0HLT; // Conter for numbers of D0 from HLT | |
77 | Int_t fTotalD0OFF; // Conter for numbers of D0 from offline | |
78 | Double_t fField; // Magnetic Field | |
79 | ||
80 | Int_t fNevents; // Counter for number of events | |
cd785861 | 81 | |
80ec6f2e | 82 | bool fuseKF; // Bool for switching to KF |
cd785861 | 83 | |
84 | /// the default configuration entry for this component | |
85 | static const char* fgkOCDBEntry; //!transient | |
86 | ||
87 | ClassDef(AliAnalysisTaskD0Trigger, 1); | |
88 | ||
89 | }; | |
90 | ||
91 | #endif |