]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventReaderESDChain.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventReaderESDChain.h
CommitLineData
76ce4b5b 1////////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoEventReaderESDChain - the reader class for the Alice ESD //
4// tailored for the Task framework //
5// Reads in AliESDfriend to create shared hit/quality information //
6// Authors: Adam Kisiel kisiel@mps.ohio-state.edu //
7// //
8////////////////////////////////////////////////////////////////////////////////
9#ifndef ALIFEMTOEVENTREADERESDCHAIN_H
10#define ALIFEMTOEVENTREADERESDCHAIN_H
11
12#include "AliFemtoEventReader.h"
13#include "AliFemtoEnumeration.h"
973a91f8 14#include "AliFemtoV0.h"
15#include "AliESDv0.h"
76ce4b5b 16
17#include <string>
18#include <vector>
19#include "TTree.h"
20#include "TGraph.h"
21#include "AliESDEvent.h"
22#include "AliESDfriend.h"
23#include "AliPhysicsSelection.h"
ce7b3d98 24#include "AliESDtrackCuts.h"
76ce4b5b 25#include <list>
26
27#include "AliESDpid.h"
28
29class AliFemtoEvent;
30
31class AliFemtoEventReaderESDChain : public AliFemtoEventReader
32{
33 public:
34 enum TrackType {kGlobal=0, kTPCOnly=1, kITSOnly=2, kSPDTracklet=3};
35 typedef enum TrackType ReadTrackType;
36
18757d69 37 enum EventMult {kCentrality=0, kGlobalCount=1, kReferenceITSTPC=2, kReferenceITSSA=3, kReferenceTracklets=4, kSPDLayer1=5, kVZERO=6, kCentralityTRK=7, kCentralityZNA=8, kCentralityCL1=9, kCentralityCND=10, kCentralityV0A=11, kCentralityV0C=12, kCentralityZNC=13, kCentralityCL0=14, kCentralityFMD=15, kCentralityTKL=16, kCentralityNPA=17};
76ce4b5b 38 typedef enum EventMult EstEventMult;
39
40 AliFemtoEventReaderESDChain();
41 AliFemtoEventReaderESDChain(const AliFemtoEventReaderESDChain& aReader);
42 ~AliFemtoEventReaderESDChain();
43
44 AliFemtoEventReaderESDChain& operator=(const AliFemtoEventReaderESDChain& aReader);
45
46 AliFemtoEvent* ReturnHbtEvent();
47 AliFemtoString Report();
48 void SetConstrained(const bool constrained);
49 void SetReadTPCInner(const bool readinner);
50 void SetUseTPCOnly(const bool usetpconly);
51
973a91f8 52 virtual void CopyESDtoFemtoV0(AliESDv0 *tESDv0, AliFemtoV0 *tFemtoV0, AliESDEvent *fESDevent);
ce7b3d98 53 void SetReadV0(bool a);
54 void GetGlobalPositionAtGlobalRadiiThroughTPC(AliESDtrack *track, Float_t bfield, Float_t globalPositionsAtRadii[9][3]);
55 void SetMagneticFieldSign(int s);
973a91f8 56
76ce4b5b 57 void SetUseMultiplicity(EstEventMult aType);
58 void SetEventTrigger(UInt_t eventtrig); //trigger
59
60 bool GetConstrained() const;
61 bool GetReadTPCInner() const;
62 bool GetUseTPCOnly() const;
63
64 void SetReadTrackType(ReadTrackType aType);
65
66 void SetESDSource(AliESDEvent *aESD);
67 // void SetESDfriendSource(AliESDfriend *aFriend);
68 void SetESDPid(AliESDpid *esdPid) { fESDpid = esdPid; }
734c121a 69
70 void CopyESDtoFemtoEvent(AliFemtoEvent *hbtEvent);
71 void SetpA2013(Bool_t pa2013);
7dec7414 72 void SetUseMVPlpSelection(Bool_t mvplp);
73 void SetIsPileUpEvent(Bool_t ispileup);
7d3e2025 74 void SetMinVtxContr(Int_t contr=1) {fMinVtxContr=contr;}
75 void SetMinPlpContribMV(Int_t minPlpContribMV) { fMinPlpContribMV = minPlpContribMV;}
76 void SetMinPlpContribSPD(Int_t minPlpContribSPD) { fMinPlpContribSPD = minPlpContribSPD;}
7dec7414 77
76ce4b5b 78 protected:
79
80 private:
81 string fFileName; //name of current ESD file
82 bool fConstrained; //flag to set which momentum from ESD file will be use
83 bool fReadInner; // flag to set if one wants to read TPC-only momentum
84 // and store it in the hidden info
85 bool fUseTPCOnly; // flag to set if one wants to replace the global parameters
86 // by the TPC only ones
87 int fNumberofEvent; //number of Events in ESD file
88 int fCurEvent; //number of current event
89 unsigned int fCurFile; //number of current file
90 AliESDEvent* fEvent; //ESD event
91 // AliESDfriend* fEventFriend;
76ce4b5b 92 ReadTrackType fTrackType; // Type of track read
93 EstEventMult fEstEventMult; // Type of the event multiplicity estimator
94 UInt_t fEventTrig; //event trigger
95
973a91f8 96
76ce4b5b 97/* list<Int_t> **fSharedList; //! Table (one list per padrow) of clusters which are shared */
98/* list<Int_t> **fClusterPerPadrow; //! Table (one list per padrow) of clusters in each padrow */
99
100 Float_t GetSigmaToVertex(double *impact, double *covar);
101
102
103 AliESDpid *fESDpid;
104 Bool_t fIsPidOwner;
973a91f8 105 bool fReadV0; // Read V0 information from the AOD and put it into V0Collection
ce7b3d98 106 int fMagFieldSign;
76ce4b5b 107
734c121a 108 Bool_t fpA2013;
7dec7414 109 Bool_t fisPileUp;
110 Bool_t fMVPlp;
7d3e2025 111 Int_t fMinVtxContr; //no of contributors for pA 2013 data
112 Int_t fMinPlpContribMV; //no of contributors for multivertex pile-up rejection
113 Int_t fMinPlpContribSPD; //no of contributors for SPD pile-up rejection
734c121a 114
76ce4b5b 115#ifdef __ROOT__
116 ClassDef(AliFemtoEventReaderESDChain, 1)
117#endif
118
119 };
120
121#endif
122
123