]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliCFHeavyFlavourTask.h
New EMC ideal calibration with all gains=0.005
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliCFHeavyFlavourTask.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 //-----------------------------------------------------------------------
17 // Author : C. Zampolli, on an example from R. Vernet
18 //-----------------------------------------------------------------------
19
20 #ifndef ALICFHEAVYFLAVOURTASK_H
21 #define ALICFHEAVYFLAVOURTASK_H
22
23 #include "AliAnalysisTaskSE.h"
24
25 class TH1I;
26 class AliCFManager;
27 class AliAODRecoDecayHF2Prong;
28
29 class AliCFHeavyFlavourTask : public AliAnalysisTaskSE {
30   public:
31
32   enum {
33     kStepGenerated       = 0,
34     kStepReconstructed   = 1
35   };
36
37   AliCFHeavyFlavourTask();
38   AliCFHeavyFlavourTask(const Char_t* name);
39   AliCFHeavyFlavourTask& operator= (const AliCFHeavyFlavourTask& c);
40   AliCFHeavyFlavourTask(const AliCFHeavyFlavourTask& c);
41   virtual ~AliCFHeavyFlavourTask();
42
43   // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
44   void UserCreateOutputObjects();
45   void UserExec(Option_t *option);
46   void Terminate(Option_t *);
47   
48   // CORRECTION FRAMEWORK RELATED FUNCTIONS
49   void SetCFManager(AliCFManager* const io) {fCFManager = io;}   // global correction manager
50   AliCFManager* GetCFManager() const {return fCFManager;} // get corr manager
51
52   void SetPDG(Int_t code) {fPDG = code; } // defines the PDG code of searched HF
53   Int_t IsMcVtx(AliAODRecoDecayHF2Prong* const vtx) const ; // checks if the AliAODRecoDecayHF2Prong can be associated to an MC particle, returns mother label
54   Int_t GetVtxLabel(Int_t* labels) const ; // returns label of vertex given the daughter labels
55
56   
57  protected:
58   Int_t fPDG;         //  PDG code of searched V0's
59   AliCFManager* fCFManager  ; //  pointer to the CF manager
60   TH1I* fHistEventsProcessed;   //! simple histo for monitoring the number of events processed
61   Int_t fCountMC;               // MC particle found
62   Int_t fEvents;                // n. of events
63   
64   ClassDef(AliCFHeavyFlavourTask,0);
65 };
66
67 #endif