#ifndef ALIAODMCNUCLEXREPLICATOR_H
#define ALIAODMCNUCLEXREPLICATOR_H
#ifndef ALIDAODBRANCHREPLICATOR_H
# include "AliAODBranchReplicator.h"
#endif
#ifndef ROOT_TExMap
# include "TExMap.h"
#endif
class TClonesArray;
class AliAODMCHeader;
class AliAODVZERO;
class AliAODTZERO;
class AliESDv0;
class TArrayI;
class AliAODv0;
class TRefArray;
class AliAODRecoDecay;
class AliAODRecoDecayLF;
class AliAODRecoDecayLF2Prong;
class AliVertexerTracks;
class AliAODHeader;
class AliESDVertex;
class AliESDtrack;
class AliVEvent;
class AliAODVertex;
class AliVertexerTracks;
class AliESDv0;
class AliAODv0;
class TH1F;
class AliAODMCNuclExReplicator : public AliAODBranchReplicator
{
public:
AliAODMCNuclExReplicator(const char* name="AliAODMCNuclExReplicator",
const char* title="Branch Replicator for muon related branches",
Int_t mcMode=0,
Int_t nsigmaTrk1=3, Int_t partType1 = 2,
Int_t nsigmaTrk2=3, Int_t partType2 = 7
);
virtual ~AliAODMCNuclExReplicator();
virtual TList* GetList() const;
virtual void ReplicateAndFilter(const AliAODEvent& source);
virtual void Terminate();
private:
void SelectParticle(Int_t i);
Bool_t IsParticleSelected(Int_t i);
void CreateLabelMap(const AliAODEvent& source);
Int_t GetNewLabel(Int_t i);
Double_t fBzkG;
Double_t fCosMin ;
Double_t fDCAtracksMin ;
Double_t fRmax ;
Double_t fRmin ;
Double_t fDNmin ;
Double_t fDPmin ;
private:
mutable AliAODHeader* fHeader;
mutable TClonesArray* fVertices;
mutable TClonesArray* fNuclei;
mutable TClonesArray* fSecondaryVerices;
mutable TClonesArray* fDaughterTracks;
mutable TList* fList;
mutable TClonesArray* fMCParticles;
mutable AliAODMCHeader* fMCHeader;
Int_t fMCMode;
TExMap fLabelMap;
TExMap fParticleSelected;
Bool_t fReplicateHeader;
Int_t fnSigmaTrk1;
Int_t fnSigmaTrk2;
Int_t fpartType1;
Int_t fpartType2;
Bool_t fSecVtxWithKF;
AliVertexerTracks* fVertexerTracks;
AliESDVertex *fV1;
Int_t fAODMapSize;
Int_t *fAODMap;
AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
AliAODRecoDecayLF2Prong* Make2Prong(TObjArray *twoTrackArray,const AliAODEvent &evento,
AliAODVertex *secVert,Double_t dca);
void AddDaughterRefs(AliAODVertex *v, const AliAODEvent &event, const TObjArray *trkArray) const;
void AddRefs(AliAODVertex *v,AliAODRecoDecayLF *rd, const AliAODEvent &event, const TObjArray *trkArray) const;
private:
AliAODMCNuclExReplicator(const AliAODMCNuclExReplicator&);
AliAODMCNuclExReplicator& operator=(const AliAODMCNuclExReplicator&);
ClassDef(AliAODMCNuclExReplicator,5)
};
#endif
AliAODMCNuclExReplicator.h:1 AliAODMCNuclExReplicator.h:2 AliAODMCNuclExReplicator.h:3 AliAODMCNuclExReplicator.h:4 AliAODMCNuclExReplicator.h:5 AliAODMCNuclExReplicator.h:6 AliAODMCNuclExReplicator.h:7 AliAODMCNuclExReplicator.h:8 AliAODMCNuclExReplicator.h:9 AliAODMCNuclExReplicator.h:10 AliAODMCNuclExReplicator.h:11 AliAODMCNuclExReplicator.h:12 AliAODMCNuclExReplicator.h:13 AliAODMCNuclExReplicator.h:14 AliAODMCNuclExReplicator.h:15 AliAODMCNuclExReplicator.h:16 AliAODMCNuclExReplicator.h:17 AliAODMCNuclExReplicator.h:18 AliAODMCNuclExReplicator.h:19 AliAODMCNuclExReplicator.h:20 AliAODMCNuclExReplicator.h:21 AliAODMCNuclExReplicator.h:22 AliAODMCNuclExReplicator.h:23 AliAODMCNuclExReplicator.h:24 AliAODMCNuclExReplicator.h:25 AliAODMCNuclExReplicator.h:26 AliAODMCNuclExReplicator.h:27 AliAODMCNuclExReplicator.h:28 AliAODMCNuclExReplicator.h:29 AliAODMCNuclExReplicator.h:30 AliAODMCNuclExReplicator.h:31 AliAODMCNuclExReplicator.h:32 AliAODMCNuclExReplicator.h:33 AliAODMCNuclExReplicator.h:34 AliAODMCNuclExReplicator.h:35 AliAODMCNuclExReplicator.h:36 AliAODMCNuclExReplicator.h:37 AliAODMCNuclExReplicator.h:38 AliAODMCNuclExReplicator.h:39 AliAODMCNuclExReplicator.h:40 AliAODMCNuclExReplicator.h:41 AliAODMCNuclExReplicator.h:42 AliAODMCNuclExReplicator.h:43 AliAODMCNuclExReplicator.h:44 AliAODMCNuclExReplicator.h:45 AliAODMCNuclExReplicator.h:46 AliAODMCNuclExReplicator.h:47 AliAODMCNuclExReplicator.h:48 AliAODMCNuclExReplicator.h:49 AliAODMCNuclExReplicator.h:50 AliAODMCNuclExReplicator.h:51 AliAODMCNuclExReplicator.h:52 AliAODMCNuclExReplicator.h:53 AliAODMCNuclExReplicator.h:54 AliAODMCNuclExReplicator.h:55 AliAODMCNuclExReplicator.h:56 AliAODMCNuclExReplicator.h:57 AliAODMCNuclExReplicator.h:58 AliAODMCNuclExReplicator.h:59 AliAODMCNuclExReplicator.h:60 AliAODMCNuclExReplicator.h:61 AliAODMCNuclExReplicator.h:62 AliAODMCNuclExReplicator.h:63 AliAODMCNuclExReplicator.h:64 AliAODMCNuclExReplicator.h:65 AliAODMCNuclExReplicator.h:66 AliAODMCNuclExReplicator.h:67 AliAODMCNuclExReplicator.h:68 AliAODMCNuclExReplicator.h:69 AliAODMCNuclExReplicator.h:70 AliAODMCNuclExReplicator.h:71 AliAODMCNuclExReplicator.h:72 AliAODMCNuclExReplicator.h:73 AliAODMCNuclExReplicator.h:74 AliAODMCNuclExReplicator.h:75 AliAODMCNuclExReplicator.h:76 AliAODMCNuclExReplicator.h:77 AliAODMCNuclExReplicator.h:78 AliAODMCNuclExReplicator.h:79 AliAODMCNuclExReplicator.h:80 AliAODMCNuclExReplicator.h:81 AliAODMCNuclExReplicator.h:82 AliAODMCNuclExReplicator.h:83 AliAODMCNuclExReplicator.h:84 AliAODMCNuclExReplicator.h:85 AliAODMCNuclExReplicator.h:86 AliAODMCNuclExReplicator.h:87 AliAODMCNuclExReplicator.h:88 AliAODMCNuclExReplicator.h:89 AliAODMCNuclExReplicator.h:90 AliAODMCNuclExReplicator.h:91 AliAODMCNuclExReplicator.h:92 AliAODMCNuclExReplicator.h:93 AliAODMCNuclExReplicator.h:94 AliAODMCNuclExReplicator.h:95 AliAODMCNuclExReplicator.h:96 AliAODMCNuclExReplicator.h:97 AliAODMCNuclExReplicator.h:98 AliAODMCNuclExReplicator.h:99 AliAODMCNuclExReplicator.h:100 AliAODMCNuclExReplicator.h:101 AliAODMCNuclExReplicator.h:102 AliAODMCNuclExReplicator.h:103 AliAODMCNuclExReplicator.h:104 AliAODMCNuclExReplicator.h:105 AliAODMCNuclExReplicator.h:106 AliAODMCNuclExReplicator.h:107 AliAODMCNuclExReplicator.h:108 AliAODMCNuclExReplicator.h:109 AliAODMCNuclExReplicator.h:110 AliAODMCNuclExReplicator.h:111 AliAODMCNuclExReplicator.h:112 AliAODMCNuclExReplicator.h:113 AliAODMCNuclExReplicator.h:114 AliAODMCNuclExReplicator.h:115 AliAODMCNuclExReplicator.h:116 AliAODMCNuclExReplicator.h:117 AliAODMCNuclExReplicator.h:118 AliAODMCNuclExReplicator.h:119 AliAODMCNuclExReplicator.h:120 AliAODMCNuclExReplicator.h:121 AliAODMCNuclExReplicator.h:122 AliAODMCNuclExReplicator.h:123 AliAODMCNuclExReplicator.h:124 AliAODMCNuclExReplicator.h:125 AliAODMCNuclExReplicator.h:126 AliAODMCNuclExReplicator.h:127 AliAODMCNuclExReplicator.h:128 AliAODMCNuclExReplicator.h:129 AliAODMCNuclExReplicator.h:130 AliAODMCNuclExReplicator.h:131 AliAODMCNuclExReplicator.h:132 AliAODMCNuclExReplicator.h:133 AliAODMCNuclExReplicator.h:134 AliAODMCNuclExReplicator.h:135 AliAODMCNuclExReplicator.h:136 AliAODMCNuclExReplicator.h:137 AliAODMCNuclExReplicator.h:138 AliAODMCNuclExReplicator.h:139 AliAODMCNuclExReplicator.h:140 AliAODMCNuclExReplicator.h:141 AliAODMCNuclExReplicator.h:142 AliAODMCNuclExReplicator.h:143 AliAODMCNuclExReplicator.h:144 AliAODMCNuclExReplicator.h:145 AliAODMCNuclExReplicator.h:146 AliAODMCNuclExReplicator.h:147 AliAODMCNuclExReplicator.h:148 AliAODMCNuclExReplicator.h:149 AliAODMCNuclExReplicator.h:150 AliAODMCNuclExReplicator.h:151 AliAODMCNuclExReplicator.h:152 AliAODMCNuclExReplicator.h:153 AliAODMCNuclExReplicator.h:154 AliAODMCNuclExReplicator.h:155 AliAODMCNuclExReplicator.h:156 AliAODMCNuclExReplicator.h:157 AliAODMCNuclExReplicator.h:158