]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGUD/DIFFRACTIVE/xsAndTwoProng/AliCDMesonTracks.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGUD / DIFFRACTIVE / xsAndTwoProng / AliCDMesonTracks.h
CommitLineData
784b6a81 1
2/**************************************************************************
3 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * *
5 * Author: The ALICE Off-line Project. *
6 * Contributors are mentioned in the code where appropriate. *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
16//
17// AliCDMesonTracks
18// for
19// AliAnalysisTaskCDMeson
20//
21// see AliCDMesonTracks.cxx for description
22//
23// Author:
24// Felix Reidt <Felix.Reidt@cern.ch>
25
26#ifndef ALICDMESONTRACKS_H
27#define ALICDMESONTRACKS_H
28
29class TObjArray;
30
31class AliAODEvent;
32class AliESDEvent;
33class AliVTrack;
34
35class AliCDMesonTracks
36{
37public:
38 AliCDMesonTracks(); // constructor
39 ~AliCDMesonTracks(); // destructor
40
41 Bool_t ProcessEvent(AliAODEvent* aodEvent, AliESDEvent* esdEvent,
42 Bool_t doSoft = kTRUE);
43
44 Int_t GetTracksBeforeCuts() const { return (fIsValid) ? fNTrk0 : -1; }
45 Int_t GetTracks() const { return (fIsValid) ? fNch : -1; }
46 Int_t GetSoftTracks() const { return (fIsValid && fDoSoft) ? fNsoft : -1; }
47 Int_t GetCombinedTracks() const { return (fIsValid) ? fNcombined : -1; }
48 Int_t GetITSpureSACount() const { return (fIsValid) ? fNITSpureSA : -1; }
49 Int_t GetRemainingTrackletsCentralBarrel() const {
50 return (fIsValid) ? fNtrackletsCentralBarrel : -1;
51 }
52 Int_t GetRemainingTrackletsForward() const {
53 return (fIsValid) ? fNtrackletsForward : -1;
54 }
55 AliVTrack* GetTrack(UInt_t index) const;
56
57 Double_t GetInvariantMass(Bool_t includeSoftTracks = kTRUE);
58protected:
59 void ApplyCuts();
60 void CutTrack(AliESDEvent *ESDEvent, Int_t mode = 0);
61 void CutTrack(AliAODEvent *AODEvent, Int_t mode = 0);
62 void GetRemainingTracklets();
63
64 AliAODEvent* fAODEvent; // AOD event to analyze
65 AliESDEvent* fESDEvent; // ESD event to analyze
66 Bool_t fDoAOD; // is active for AOD processing, inactive for ESDs
67 Bool_t fDoSoft; // process soft tracks
68 Bool_t fIsValid; // are the stored results valid
69
70 Int_t fNTrk0; // number of tracks before cuts
71 Int_t fNch; // number of charged ITSTPC tracks after cuts
72 Int_t fNsoft; // number of soft ITS standalone tracks (complementary to fNch)
73 Int_t fNcombined; // fNch+fNsoft
74 Int_t fNITSpureSA; // number of ITSpureSA tracks leading double counting
75
76 Int_t fNtrackletsCentralBarrel; // tracklets not assigned to tracks within
77 // |eta| < 0.9
78 Int_t fNtrackletsForward; // tracklets not assigned to tracks with |eta| > 0.9
79
80 TObjArray* fTracks; // storage for the standard tracks
81 TObjArray* fSoftTracks; // storage for the soft tracks
82private:
83 // following functions are only implemented to obey the coding conventions,
84 // they are not functional and hence should not be used
85 AliCDMesonTracks(const AliCDMesonTracks& tracks);
86 // copy constructor
87 AliCDMesonTracks& operator=(const AliCDMesonTracks& tracks);
88};
89
90#endif // ALICDMESONTRACKS_H