]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/muon/AliMuonInfoStoreMC.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliMuonInfoStoreMC.h
index 2690d7df5e95a8cda178245c7fc6bcbb9a214223..a5ad99eb99fe5684ed371acf6445a1cb7adc6979 100644 (file)
@@ -31,8 +31,8 @@ class AliMuonInfoStoreMC : public AliMuonInfoStoreRD {
  public:
 
   AliMuonInfoStoreMC();
-  AliMuonInfoStoreMC(AliAODTrack     *trkAOD, AliMCEvent *mcEvent, Bool_t full=kFALSE);
-  AliMuonInfoStoreMC(AliESDMuonTrack *trkESD, AliMCEvent *mcEvent, Bool_t full=kFALSE);
+  AliMuonInfoStoreMC(AliAODTrack     *trkAOD, AliMCEvent *mcEvent, UInt_t selMask, Bool_t full=kFALSE);
+  AliMuonInfoStoreMC(AliESDMuonTrack *trkESD, AliMCEvent *mcEvent, UInt_t selMask, Bool_t full=kFALSE);
   AliMuonInfoStoreMC(const AliMuonInfoStoreMC &src);
   AliMuonInfoStoreMC& operator=(const AliMuonInfoStoreMC &src);
   virtual ~AliMuonInfoStoreMC();
@@ -41,16 +41,18 @@ class AliMuonInfoStoreMC : public AliMuonInfoStoreRD {
   Bool_t IsMotherAResonance(Int_t i) const;
 
   TLorentzVector LorentzP()         const { return fLorentzP; }
-  Int_t    Source()                 const { return fSource; }
-  Int_t    TrackIndex()             const { return fTrackIndex; }
+  Int_t    Source()                 const { return fSource;   }
+  Int_t    TrackIndex()             const { return fTrackIndex;   }
   Int_t    TrackPDGCode()           const { return fTrackPDGCode; }
   Int_t    ParentsN()               const { return fNParents; }
-  Int_t    ParentIndex(Int_t i=0)   const { return (i<fNParents ? fParentIndex[i] : -1); }
+  Int_t    ParentIndex(Int_t i=0)   const { return (i<fNParents ? fParentIndex[i] : -1);  }
   Int_t    ParentPDGCode(Int_t i=0) const { return (i<fNParents ? fParentPDGCode[i] : 0); }
-  Int_t    QuarkIndex(Int_t i=0)    const { return (i<4 ? fQuarkIndex[i] : -1); }
+  Int_t    QuarkIndex(Int_t i=0)    const { return (i<4 ? fQuarkIndex[i] : -1);  }
   Int_t    QuarkPDGCode(Int_t i=0)  const { return (i<4 ? fQuarkPDGCode[i] : 0); }
   Bool_t   IsOscillation()          const { return fOscillation; }
-  Double_t Weight()                 const { return fWeight; }
+  Double_t Weight()                 const { return fWeight;    }
+  Bool_t   IsPhyPrimKPi()           const { return fIsPhyPrim; }
+  Short_t  GetGeneratorIndex()      const { return fGeneratorIndex; }
 
   static const char* StdBranchName() { return fgkStdBranchName.Data(); }
   static Int_t SourcesN()            { return fgkSourcesN;             }
@@ -66,31 +68,33 @@ class AliMuonInfoStoreMC : public AliMuonInfoStoreRD {
   Bool_t IsDiquark(Int_t pdg);
   void ResetQuarkInfo();
 
-  static const TString fgkStdBranchName;  // Standard branch name
-  static const Int_t   fgkSourcesN;       // num. of muon sources
-
-  Bool_t fIsFull;            // whether to use full mode (Pb-Pb)
-  TLorentzVector fLorentzP;  // lorentz momentum of particle
-  Int_t fTrackIndex;         // index of the MC particle
-  Int_t fTrackPDGCode;       // PDG code of the MC particle
-  Int_t fSource;  // = 0, mu<-b 
-                  // = 1, mu<-c 
-                  // = 2, primary mu
-                  // = 3, secondary mu
-                  // = 4, not mu
-                  // = 5, unidentified track
-
-  Int_t fParentIndex[5];    // index of parents
-  Int_t fParentPDGCode[5];  // PDG code of parents
-  Int_t fNParents;          // num. of parents
-  Bool_t fOscillation;      // flag of oscillation
-
-  Int_t fQuarkIndex[4];    // index of quarks
-  Int_t fQuarkPDGCode[4];  // PDG code of quarks
-
-  Double_t fWeight;  // for PbPb collisoions
-
-  ClassDef(AliMuonInfoStoreMC, 5);
+  static const TString fgkStdBranchName; // Standard branch name
+  static const Int_t   fgkSourcesN;      // num. of muon sources
+
+  Bool_t fIsFull;           // whether to use full mode (Pb-Pb)
+  TLorentzVector fLorentzP; // lorentz momentum of particle
+  Int_t fTrackIndex;        // index of the MC particle
+  Int_t fTrackPDGCode;      // PDG code of the MC particle
+  Int_t fSource; // = 0, mu<-b 
+                 // = 1, mu<-c 
+                 // = 2, primary mu
+                 // = 3, secondary mu
+                 // = 4, not mu
+                 // = 5, unidentified track
+
+  Int_t fParentIndex[5];   // index of parents
+  Int_t fParentPDGCode[5]; // PDG code of parents
+  Int_t fNParents;         // num. of parents
+  Bool_t fOscillation;     // flag of oscillation
+
+  Int_t fQuarkIndex[4];   // index of quarks
+  Int_t fQuarkPDGCode[4]; // PDG code of quarks
+
+  Double_t fWeight;         // for PbPb collisoions
+  Bool_t   fIsPhyPrim;      // select physical primary decay mu
+  Short_t  fGeneratorIndex; // index for the employed generator
+
+  ClassDef(AliMuonInfoStoreMC, 6);
 };
 
 #endif