]>
Commit | Line | Data |
---|---|---|
becfe989 | 1 | #ifndef ALICFHEAVYFLAVOURTASKMULTIVAR_H |
2 | #define ALICFHEAVYFLAVOURTASKMULTIVAR_H | |
3 | /************************************************************************** | |
4 | * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
5 | * * | |
6 | * Author: The ALICE Off-line Project. * | |
7 | * Contributors are mentioned in the code where appropriate. * | |
8 | * * | |
9 | * Permission to use, copy, modify and distribute this software and its * | |
10 | * documentation strictly for non-commercial purposes is hereby granted * | |
11 | * without fee, provided that the above copyright notice appears in all * | |
12 | * copies and that both the copyright notice and this permission notice * | |
13 | * appear in the supporting documentation. The authors make no claims * | |
14 | * about the suitability of this software for any purpose. It is * | |
15 | * provided "as is" without express or implied warranty. * | |
16 | **************************************************************************/ | |
17 | ||
18 | //----------------------------------------------------------------------- | |
19 | // Class for HF corrections as a function of many variables | |
20 | // Author : C. Zampolli, CERN | |
21 | //----------------------------------------------------------------------- | |
22 | ||
23 | ||
24 | #include "AliAnalysisTaskSE.h" | |
25 | ||
26 | class TH1I; | |
27 | class TParticle ; | |
28 | class TFile ; | |
29 | class TClonesArray ; | |
30 | class AliCFManager; | |
31 | class AliAODRecoDecay; | |
32 | class AliAODRecoDecayHF2Prong; | |
33 | class AliAODMCParticle; | |
34 | ||
35 | class AliCFHeavyFlavourTaskMultiVar : public AliAnalysisTaskSE { | |
36 | public: | |
37 | ||
38 | enum { | |
39 | kStepGenerated = 0, | |
5235d2ed | 40 | kStepReconstructed = 1 |
becfe989 | 41 | }; |
42 | ||
43 | AliCFHeavyFlavourTaskMultiVar(); | |
44 | AliCFHeavyFlavourTaskMultiVar(const Char_t* name); | |
45 | AliCFHeavyFlavourTaskMultiVar& operator= (const AliCFHeavyFlavourTaskMultiVar& c); | |
46 | AliCFHeavyFlavourTaskMultiVar(const AliCFHeavyFlavourTaskMultiVar& c); | |
47 | virtual ~AliCFHeavyFlavourTaskMultiVar(); | |
48 | ||
49 | // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects | |
50 | void UserCreateOutputObjects(); | |
51 | void UserExec(Option_t *option); | |
52 | void Terminate(Option_t *); | |
53 | ||
54 | // CORRECTION FRAMEWORK RELATED FUNCTIONS | |
55 | void SetCFManager(AliCFManager* io) {fCFManager = io;} // global correction manager | |
56 | AliCFManager * GetCFManager() {return fCFManager;} // get corr manager | |
57 | ||
58 | void SetPDG(Int_t code) {fPDG = code; } // defines the PDG code of searched HF | |
becfe989 | 59 | Double_t CosThetaStar(AliAODMCParticle* mcPart, AliAODMCParticle* mcPartDaughter0, AliAODMCParticle* mcPartDaughter1) const; // returns cos(ThetaStar) of the D0 decay |
60 | Double_t CT(AliAODMCParticle* mcPart, AliAODMCParticle* mcPartDaughter0, AliAODMCParticle* mcPartDaughter1) const; // returns cT of the D0 decay | |
61 | void SetFillFromGenerated(Bool_t flag) {fFillFromGenerated = flag;} | |
62 | Bool_t GetFillFromGenerated() const {return fFillFromGenerated;} | |
63 | Bool_t GetGeneratedValuesFromMCParticle(AliAODMCParticle* mcPart, TClonesArray* mcArray, Double_t* vectorMC) const; | |
64 | ||
65 | protected: | |
66 | Int_t fPDG; // PDG code of searched V0's | |
67 | AliCFManager *fCFManager ; // pointer to the CF manager | |
68 | TH1I *fHistEventsProcessed; //! simple histo for monitoring the number of events processed | |
69 | Int_t fCountMC; // MC particle found | |
70 | Int_t fEvents; // n. of events | |
71 | Bool_t fFillFromGenerated; // flag to indicate whether data container should be filled | |
72 | // with generated values also for reconstructed particles | |
becfe989 | 73 | |
4522d470 | 74 | ClassDef(AliCFHeavyFlavourTaskMultiVar,1); // class for HF corrections as a function of many variables |
becfe989 | 75 | }; |
76 | ||
77 | #endif |