]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/V0LamAnalysis/AliAnalysisV0LamEventCollection.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / V0LamAnalysis / AliAnalysisV0LamEventCollection.h
1 #ifndef AliAnalysisV0LamEventCollection_cxx
2 #define AliAnalysisV0LamEventCollection_cxx
3
4 #include <iostream>
5 #include <string>
6 #include "TH1.h"
7 #include "TH2.h"
8 using namespace std;
9
10 class AliReconstructedV0  // Reconstructed V0s
11 {
12  public:
13   AliReconstructedV0();
14   ~AliReconstructedV0();
15   enum MCV0Origin_t {kUnassigned, kFake, kFakeLambda, kPrimaryLambda, kPrimarySigmaZero, kExcitedSigma, kPrimaryCascadeZero, kPrimaryCascadeMinus, kPrimaryOmega, kOtherOriginLambda, kFakeAntiLambda, kPrimaryAntiLambda, kPrimaryAntiSigmaZero, kExcitedAntiSigma, kPrimaryAntiCascadeZero, kPrimaryAntiCascadePlus, kPrimaryAntiOmega, kOtherOriginAntiLambda, kKZeroShort, kOriginTypeMax = kKZeroShort};
16   double v0Momentum[3]; // reconstructed momentum
17   double v0MomentumTruth[3]; //true momentum, used in momentum smearing analysis
18   double v0Pt;
19   double v0Eta;
20   double v0Phi;
21   double massLam;
22   double massALam;
23   double massLamDifference;
24   double massALamDifference;
25   double massK0;
26   double lorentzGammaLam;
27   double decayLength;
28   short daughter1ID;
29   short daughter2ID;
30   double v0DCA;
31   double decayVertexPosition[3]; //position of the V0 decay vertex
32   double cosPointing;
33   bool hasProtonDaughter;
34   bool hasAntiProtonDaughter;
35   bool hasPiPlusDaughter;
36   bool hasPiMinusDaughter;
37   bool isLamCenter[10];
38   bool isALamCenter[10];
39   bool isDeemedUnworthy[10];
40   //vector<vector<bool> > hasPassedCut;
41   bool hasPassedCut[10][10];
42   bool isPassingAllReconstructionCuts;
43   MCV0Origin_t mcOriginType;
44   double daughterPosMomentum[3]; //momentum of the positive daughter
45   double daughterNegMomentum[3]; //momentum of the negative daughter
46   /* double daughterPosMomentumTruth[3]; //used in momentum smearing analysis */
47   /* double doughterNegMomentumTruth[3]; */
48   double daughterPosProtonE;     //energy of the positive daughter
49   double daughterPosPionE;       //energy of the positive daughter
50   double daughterNegProtonE;     //energy of the negative daughter
51   double daughterNegPionE;       //energy of the negative daughter
52   double daughtersDCA;
53   double daughterPosDCAPrimaryVertex;
54   double daughterNegDCAPrimaryVertex;
55   double daughterPosPositionDCA[3]; //position of the positive daughter at DCA to primary
56   double daughterNegPositionDCA[3]; //position of the negative daughter at DCA to primary
57   double daughterPosMomentumDCA[3]; //momentum of the positive daughter at DCA to primary
58   double daughterNegMomentumDCA[3]; //momentum of the negative daughter at DCA to primary
59   double daughterPosCovariance[21]; //covariance matrix of the positive daughter
60   double daughterNegCovariance[21]; //covariance matrix of the negative daughter
61   Float_t daughterPosGlobalPositions[9][3];
62   Float_t daughterNegGlobalPositions[9][3];
63   Float_t daughterPosCorrectedGlobalPositions[9][3];
64   Float_t daughterNegCorrectedGlobalPositions[9][3];
65 };
66
67 class AliAnalysisV0LamEvent
68 {
69  public:
70   int fNumberCandidateV0;
71   double fPrimaryVertex[3]; //Location of the primary vertex
72   AliReconstructedV0 *fReconstructedV0;
73 };
74
75 class AliAnalysisV0LamEventCollection
76 {
77  public:
78   AliAnalysisV0LamEventCollection();
79   AliAnalysisV0LamEventCollection(short eventBuffSize,int maxV0Mult);
80   ~AliAnalysisV0LamEventCollection();
81   void FifoShift();
82   AliAnalysisV0LamEvent *fEvt;
83  private:
84   short fifo; //Size of the Event Storage buffer
85   void SetBuffSize(short eventBuffSize){fifo = eventBuffSize;}
86 };
87 #endif
88