#include <TParticle.h>
#include "AliMCEvent.h"
#include "AliAODMCParticle.h"
#include "AliESDMuonTrack.h"
#include "AliAODTrack.h"
#include "AliMuonInfoStoreRD.h"
#include "AliMuonInfoStoreMC.h"
#include "AliMCEvent.h"
ClassImp(AliMuonInfoStoreMC)
const TString AliMuonInfoStoreMC::fgkStdBranchName("MuonMC");
const Int_t AliMuonInfoStoreMC::fgkSourcesN = 6;
AliMuonInfoStoreMC::AliMuonInfoStoreMC() :
AliMuonInfoStoreRD(),
fIsFull(kFALSE),
fLorentzP(),
fTrackIndex(-1),
fTrackPDGCode(0),
fSource(-1),
fNParents(0),
fOscillation(kFALSE),
fWeight(0.)
{
for (Int_t i=5; i--;) { fParentIndex[i] = -1; fParentPDGCode[i] = 0; }
for (Int_t i=4; i--;) { fQuarkIndex[i] = -1; fQuarkPDGCode[i] = 0; }
}
AliMuonInfoStoreMC::AliMuonInfoStoreMC(AliAODTrack *trkAOD, AliMCEvent *mcEvent, UInt_t selMask, Bool_t full) :
AliMuonInfoStoreRD(trkAOD,selMask),
fIsFull(full),
fLorentzP(),
fTrackIndex(-1),
fTrackPDGCode(0),
fSource(-1),
fNParents(0),
fOscillation(kFALSE),
fWeight(0.)
{
for (Int_t i=5; i--;) { fParentIndex[i] = -1; fParentPDGCode[i] = 0; }
for (Int_t i=4; i--;) { fQuarkIndex[i] = -1; fQuarkPDGCode[i] = 0; }
this->SetMCInfoAOD(mcEvent, trkAOD->GetLabel());
}
AliMuonInfoStoreMC::AliMuonInfoStoreMC(AliESDMuonTrack *trkESD, AliMCEvent *mcEvent, UInt_t selMask, Bool_t full) :
AliMuonInfoStoreRD(trkESD,selMask),
fIsFull(full),
fLorentzP(),
fTrackIndex(-1),
fTrackPDGCode(0),
fSource(-1),
fNParents(0),
fOscillation(kFALSE),
fWeight(0.)
{
for (Int_t i=5; i--;) { fParentIndex[i] = -1; fParentPDGCode[i] = 0; }
for (Int_t i=4; i--;) { fQuarkIndex[i] = -1; fQuarkPDGCode[i] = 0; }
this->SetMCInfoESD(mcEvent, trkESD->GetLabel());
}
AliMuonInfoStoreMC::AliMuonInfoStoreMC(const AliMuonInfoStoreMC &src) :
AliMuonInfoStoreRD(src),
fIsFull(src.fIsFull),
fLorentzP(src.fLorentzP),
fTrackIndex(src.fTrackIndex),
fTrackPDGCode(src.fTrackPDGCode),
fSource(src.fSource),
fNParents(src.fNParents),
fOscillation(src.fOscillation),
fWeight(src.fWeight)
{
for (Int_t i=5; i--;) {
fParentIndex[i] = src.fParentIndex[i];
fParentPDGCode[i] = src.fParentPDGCode[i];
}
for (Int_t i=4; i--;) {
fQuarkIndex[i] = src.fQuarkIndex[i];
fQuarkPDGCode[i] = src.fQuarkPDGCode[i];
}
}
AliMuonInfoStoreMC& AliMuonInfoStoreMC::operator=(const AliMuonInfoStoreMC &src)
{
if(&src==this) return *this;
AliMuonInfoStoreRD::operator=(src);
fIsFull = src.fIsFull;
fLorentzP = src.fLorentzP;
fTrackIndex = src.fTrackIndex;
fTrackPDGCode = src.fTrackPDGCode;
fSource = src.fSource;
fNParents = src.fNParents;
fOscillation = src.fOscillation;
fWeight = src.fWeight;
for (Int_t i=5; i--;) {
fParentIndex[i] = src.fParentIndex[i];
fParentPDGCode[i] = src.fParentPDGCode[i];
}
for (Int_t i=4; i--;) {
fQuarkIndex[i] = src.fQuarkIndex[i];
fQuarkPDGCode[i] = src.fQuarkPDGCode[i];
}
return *this;
}
AliMuonInfoStoreMC::~AliMuonInfoStoreMC()
{
}
void AliMuonInfoStoreMC::SetMCInfoAOD(AliMCEvent *mcEvent, Int_t label)
{
fTrackIndex = label;
if (fTrackIndex<0) { fSource=5; return; }
AliAODMCParticle *pMC = (AliAODMCParticle*)mcEvent->GetTrack(fTrackIndex);
fLorentzP.SetPxPyPzE(pMC->Px(), pMC->Py(), pMC->Pz(), pMC->E());
fTrackPDGCode = pMC->PdgCode();
if (TMath::Abs(fTrackPDGCode)!=13) { fSource=4; return; }
Int_t lineM = pMC->GetMother();
if (lineM<0) { fSource=2; return; }
Bool_t isPrimary = ((AliAODMCParticle*)mcEvent->GetTrack(lineM))->IsPrimary();
if (!isPrimary) { fSource=3; return; }
Int_t countP=-1, pdg=0;
Int_t parents[10], parLine[10];
AliAODMCParticle *mother = 0;
while(lineM>=0){
mother = (AliAODMCParticle*)mcEvent->GetTrack(lineM);
pdg = mother->GetPdgCode();
if(pdg==92 || pdg==21 || TMath::Abs(pdg)<10 || IsDiquark(pdg)) break;
parents[++countP] = pdg;
parLine[countP] = lineM;
lineM = mother->GetMother();
}
for(Int_t i=0; i<=countP; i++){
fParentIndex[i] = parLine[countP-i];
fParentPDGCode[i] = parents[countP-i];
}
fNParents = countP + 1;
if (fIsFull && lineM>=0) this->FillHistoryQuarksAOD(mcEvent, lineM);
fSource = this->SelectHFMuon();
return;
}
void AliMuonInfoStoreMC::SetMCInfoESD(AliMCEvent *mcEvent, Int_t label)
{
fTrackIndex = label;
if (fTrackIndex<0) { fSource=5; return; }
TParticle *pMC = ((AliMCParticle*)mcEvent->GetTrack(fTrackIndex))->Particle();
fLorentzP.SetPxPyPzE(pMC->Px(), pMC->Py(), pMC->Pz(), pMC->Energy());
fTrackPDGCode = pMC->GetPdgCode();
if (TMath::Abs(fTrackPDGCode)!=13) { fSource=4; return; }
Int_t lineM = pMC->GetFirstMother();
if (lineM<0) { fSource=2; return; }
if (lineM>=mcEvent->Stack()->GetNprimary()) { fSource=3; return; }
Int_t countP=-1, pdg=0;
Int_t parents[10], parLine[10];
TParticle *mother = 0;
while(lineM>=0){
mother = ((AliMCParticle*)mcEvent->GetTrack(lineM))->Particle();
pdg = mother->GetPdgCode();
if(pdg==92 || pdg==21 || TMath::Abs(pdg)<10 || IsDiquark(pdg)) break;
parents[++countP] = pdg;
parLine[countP] = lineM;
lineM = mother->GetFirstMother();
}
for(Int_t i=0; i<=countP; i++){
fParentIndex[i] = parLine[countP-i];
fParentPDGCode[i] = parents[countP-i];
}
fNParents = countP + 1;
if (fIsFull && lineM>=0) this->FillHistoryQuarksESD(mcEvent, lineM);
fSource = this->SelectHFMuon();
return;
}
void AliMuonInfoStoreMC::FillHistoryQuarksAOD(AliMCEvent* const mcEvent, Int_t lineM)
{
if (lineM<0) return;
Int_t countP=-1, pdg=0;
AliAODMCParticle *mother = 0;
while(lineM>=0){
mother = (AliAODMCParticle*)mcEvent->GetTrack(lineM);
pdg = mother->GetPdgCode();
fQuarkIndex[++countP] = lineM;
fQuarkPDGCode[countP] = pdg;
lineM = mother->GetMother();
}
countP = 1;
for(Int_t par=0; par<4; par++) {
if(TMath::Abs(this->QuarkPDGCode(par))<6) { countP=par; break; }
}
if(this->QuarkIndex(countP)>-1 && (this->ParentFlavour(0)==4 || this->ParentFlavour(0)==5)) {
if(this->ParentFlavour(0)!=TMath::Abs(this->QuarkPDGCode(countP))) {
AliWarning(Form("quark flavour of parent and that of quark do not correspond: %d %d --> correcting\n",
this->ParentFlavour(0), TMath::Abs(this->QuarkPDGCode(countP))));
pdg = this->QuarkPDGCode(countP);
Int_t line = this->QuarkIndex(countP);
this->ResetQuarkInfo();
while(TMath::Abs(pdg)!=this->ParentFlavour(0)) {
pdg = ((AliAODMCParticle*)mcEvent->GetTrack(++line))->GetPdgCode();
}
while(line>=0){
mother = (AliAODMCParticle*)mcEvent->GetTrack(line);
pdg = mother->GetPdgCode();
fQuarkIndex[countP] = line;
fQuarkPDGCode[countP++] = pdg;
line = mother->GetMother();
}
}
}
return;
}
void AliMuonInfoStoreMC::FillHistoryQuarksESD(AliMCEvent* const mcEvent, Int_t lineM)
{
if (lineM<0) return;
Int_t countP=-1, pdg=0;
TParticle *mother = 0;
while(lineM>=0){
mother = ((AliMCParticle*)mcEvent->GetTrack(lineM))->Particle();
pdg = mother->GetPdgCode();
fQuarkIndex[++countP] = lineM;
fQuarkPDGCode[countP] = pdg;
lineM = mother->GetFirstMother();
}
countP = 1;
for(Int_t par=0; par<4; par++) {
if(TMath::Abs(this->QuarkPDGCode(par))<6) { countP=par; break; }
}
if(this->QuarkIndex(countP)>-1 && (this->ParentFlavour(0)==4 || this->ParentFlavour(0)==5)) {
if(this->ParentFlavour(0)!=TMath::Abs(this->QuarkPDGCode(countP))) {
AliWarning(Form("quark flavour of parent and that of quark do not correspond: %d %d --> correcting\n",
this->ParentFlavour(0), TMath::Abs(this->QuarkPDGCode(countP))));
pdg = this->QuarkPDGCode(countP);
Int_t line = this->QuarkIndex(countP);
this->ResetQuarkInfo();
while(TMath::Abs(pdg)!=this->ParentFlavour(0)) {
pdg = ((AliMCParticle*)mcEvent->GetTrack(++lineM))->Particle()->GetPdgCode();
}
while(line>=0){
mother = ((AliMCParticle*)mcEvent->GetTrack(++lineM))->Particle();
pdg = mother->GetPdgCode();
fQuarkIndex[countP] = line;
fQuarkPDGCode[countP++] = pdg;
line = mother->GetFirstMother();
}
}
}
return;
}
Int_t AliMuonInfoStoreMC::SelectHFMuon()
{
Int_t flv = ParentFlavour(0);
if (flv!=4 && flv!=5) return 2;
Bool_t isRes = kFALSE;
Int_t i=0, nparents=this->ParentsN();
while (i<nparents && !isRes) {
isRes = IsMotherAResonance(i++);
}
if (isRes) return 2;
if (flv==5) return 0;
else return 1;
}
Bool_t AliMuonInfoStoreMC::IsDiquark(Int_t pdg)
{
pdg = TMath::Abs(pdg);
if(pdg>1000 && (pdg%100)<10) return kTRUE;
else return kFALSE;
}
void AliMuonInfoStoreMC::ResetQuarkInfo()
{
for(Int_t pos=1; pos<4; pos++) {
fQuarkIndex[pos] = -1;
fQuarkPDGCode[pos] = 0;
}
return;
}
Int_t AliMuonInfoStoreMC::ParentFlavour(Int_t i) const
{
Int_t pdg = ParentPDGCode(i);
pdg = TMath::Abs(pdg/100);
if(pdg>9) pdg /= 10;
return pdg;
}
Bool_t AliMuonInfoStoreMC::IsMotherAResonance(Int_t i) const
{
Int_t pdg = ParentPDGCode(i);
Int_t id=pdg%100000;
return (!((id-id%10)%110));
}
AliMuonInfoStoreMC.cxx:10 AliMuonInfoStoreMC.cxx:11 AliMuonInfoStoreMC.cxx:12 AliMuonInfoStoreMC.cxx:13 AliMuonInfoStoreMC.cxx:14 AliMuonInfoStoreMC.cxx:15 AliMuonInfoStoreMC.cxx:16 AliMuonInfoStoreMC.cxx:17 AliMuonInfoStoreMC.cxx:18 AliMuonInfoStoreMC.cxx:19 AliMuonInfoStoreMC.cxx:20 AliMuonInfoStoreMC.cxx:21 AliMuonInfoStoreMC.cxx:22 AliMuonInfoStoreMC.cxx:23 AliMuonInfoStoreMC.cxx:24 AliMuonInfoStoreMC.cxx:25 AliMuonInfoStoreMC.cxx:26 AliMuonInfoStoreMC.cxx:27 AliMuonInfoStoreMC.cxx:28 AliMuonInfoStoreMC.cxx:29 AliMuonInfoStoreMC.cxx:30 AliMuonInfoStoreMC.cxx:31 AliMuonInfoStoreMC.cxx:32 AliMuonInfoStoreMC.cxx:33 AliMuonInfoStoreMC.cxx:34 AliMuonInfoStoreMC.cxx:35 AliMuonInfoStoreMC.cxx:36 AliMuonInfoStoreMC.cxx:37 AliMuonInfoStoreMC.cxx:38 AliMuonInfoStoreMC.cxx:39 AliMuonInfoStoreMC.cxx:40 AliMuonInfoStoreMC.cxx:41 AliMuonInfoStoreMC.cxx:42 AliMuonInfoStoreMC.cxx:43 AliMuonInfoStoreMC.cxx:44 AliMuonInfoStoreMC.cxx:45 AliMuonInfoStoreMC.cxx:46 AliMuonInfoStoreMC.cxx:47 AliMuonInfoStoreMC.cxx:48 AliMuonInfoStoreMC.cxx:49 AliMuonInfoStoreMC.cxx:50 AliMuonInfoStoreMC.cxx:51 AliMuonInfoStoreMC.cxx:52 AliMuonInfoStoreMC.cxx:53 AliMuonInfoStoreMC.cxx:54 AliMuonInfoStoreMC.cxx:55 AliMuonInfoStoreMC.cxx:56 AliMuonInfoStoreMC.cxx:57 AliMuonInfoStoreMC.cxx:58 AliMuonInfoStoreMC.cxx:59 AliMuonInfoStoreMC.cxx:60 AliMuonInfoStoreMC.cxx:61 AliMuonInfoStoreMC.cxx:62 AliMuonInfoStoreMC.cxx:63 AliMuonInfoStoreMC.cxx:64 AliMuonInfoStoreMC.cxx:65 AliMuonInfoStoreMC.cxx:66 AliMuonInfoStoreMC.cxx:67 AliMuonInfoStoreMC.cxx:68 AliMuonInfoStoreMC.cxx:69 AliMuonInfoStoreMC.cxx:70 AliMuonInfoStoreMC.cxx:71 AliMuonInfoStoreMC.cxx:72 AliMuonInfoStoreMC.cxx:73 AliMuonInfoStoreMC.cxx:74 AliMuonInfoStoreMC.cxx:75 AliMuonInfoStoreMC.cxx:76 AliMuonInfoStoreMC.cxx:77 AliMuonInfoStoreMC.cxx:78 AliMuonInfoStoreMC.cxx:79 AliMuonInfoStoreMC.cxx:80 AliMuonInfoStoreMC.cxx:81 AliMuonInfoStoreMC.cxx:82 AliMuonInfoStoreMC.cxx:83 AliMuonInfoStoreMC.cxx:84 AliMuonInfoStoreMC.cxx:85 AliMuonInfoStoreMC.cxx:86 AliMuonInfoStoreMC.cxx:87 AliMuonInfoStoreMC.cxx:88 AliMuonInfoStoreMC.cxx:89 AliMuonInfoStoreMC.cxx:90 AliMuonInfoStoreMC.cxx:91 AliMuonInfoStoreMC.cxx:92 AliMuonInfoStoreMC.cxx:93 AliMuonInfoStoreMC.cxx:94 AliMuonInfoStoreMC.cxx:95 AliMuonInfoStoreMC.cxx:96 AliMuonInfoStoreMC.cxx:97 AliMuonInfoStoreMC.cxx:98 AliMuonInfoStoreMC.cxx:99 AliMuonInfoStoreMC.cxx:100 AliMuonInfoStoreMC.cxx:101 AliMuonInfoStoreMC.cxx:102 AliMuonInfoStoreMC.cxx:103 AliMuonInfoStoreMC.cxx:104 AliMuonInfoStoreMC.cxx:105 AliMuonInfoStoreMC.cxx:106 AliMuonInfoStoreMC.cxx:107 AliMuonInfoStoreMC.cxx:108 AliMuonInfoStoreMC.cxx:109 AliMuonInfoStoreMC.cxx:110 AliMuonInfoStoreMC.cxx:111 AliMuonInfoStoreMC.cxx:112 AliMuonInfoStoreMC.cxx:113 AliMuonInfoStoreMC.cxx:114 AliMuonInfoStoreMC.cxx:115 AliMuonInfoStoreMC.cxx:116 AliMuonInfoStoreMC.cxx:117 AliMuonInfoStoreMC.cxx:118 AliMuonInfoStoreMC.cxx:119 AliMuonInfoStoreMC.cxx:120 AliMuonInfoStoreMC.cxx:121 AliMuonInfoStoreMC.cxx:122 AliMuonInfoStoreMC.cxx:123 AliMuonInfoStoreMC.cxx:124 AliMuonInfoStoreMC.cxx:125 AliMuonInfoStoreMC.cxx:126 AliMuonInfoStoreMC.cxx:127 AliMuonInfoStoreMC.cxx:128 AliMuonInfoStoreMC.cxx:129 AliMuonInfoStoreMC.cxx:130 AliMuonInfoStoreMC.cxx:131 AliMuonInfoStoreMC.cxx:132 AliMuonInfoStoreMC.cxx:133 AliMuonInfoStoreMC.cxx:134 AliMuonInfoStoreMC.cxx:135 AliMuonInfoStoreMC.cxx:136 AliMuonInfoStoreMC.cxx:137 AliMuonInfoStoreMC.cxx:138 AliMuonInfoStoreMC.cxx:139 AliMuonInfoStoreMC.cxx:140 AliMuonInfoStoreMC.cxx:141 AliMuonInfoStoreMC.cxx:142 AliMuonInfoStoreMC.cxx:143 AliMuonInfoStoreMC.cxx:144 AliMuonInfoStoreMC.cxx:145 AliMuonInfoStoreMC.cxx:146 AliMuonInfoStoreMC.cxx:147 AliMuonInfoStoreMC.cxx:148 AliMuonInfoStoreMC.cxx:149 AliMuonInfoStoreMC.cxx:150 AliMuonInfoStoreMC.cxx:151 AliMuonInfoStoreMC.cxx:152 AliMuonInfoStoreMC.cxx:153 AliMuonInfoStoreMC.cxx:154 AliMuonInfoStoreMC.cxx:155 AliMuonInfoStoreMC.cxx:156 AliMuonInfoStoreMC.cxx:157 AliMuonInfoStoreMC.cxx:158 AliMuonInfoStoreMC.cxx:159 AliMuonInfoStoreMC.cxx:160 AliMuonInfoStoreMC.cxx:161 AliMuonInfoStoreMC.cxx:162 AliMuonInfoStoreMC.cxx:163 AliMuonInfoStoreMC.cxx:164 AliMuonInfoStoreMC.cxx:165 AliMuonInfoStoreMC.cxx:166 AliMuonInfoStoreMC.cxx:167 AliMuonInfoStoreMC.cxx:168 AliMuonInfoStoreMC.cxx:169 AliMuonInfoStoreMC.cxx:170 AliMuonInfoStoreMC.cxx:171 AliMuonInfoStoreMC.cxx:172 AliMuonInfoStoreMC.cxx:173 AliMuonInfoStoreMC.cxx:174 AliMuonInfoStoreMC.cxx:175 AliMuonInfoStoreMC.cxx:176 AliMuonInfoStoreMC.cxx:177 AliMuonInfoStoreMC.cxx:178 AliMuonInfoStoreMC.cxx:179 AliMuonInfoStoreMC.cxx:180 AliMuonInfoStoreMC.cxx:181 AliMuonInfoStoreMC.cxx:182 AliMuonInfoStoreMC.cxx:183 AliMuonInfoStoreMC.cxx:184 AliMuonInfoStoreMC.cxx:185 AliMuonInfoStoreMC.cxx:186 AliMuonInfoStoreMC.cxx:187 AliMuonInfoStoreMC.cxx:188 AliMuonInfoStoreMC.cxx:189 AliMuonInfoStoreMC.cxx:190 AliMuonInfoStoreMC.cxx:191 AliMuonInfoStoreMC.cxx:192 AliMuonInfoStoreMC.cxx:193 AliMuonInfoStoreMC.cxx:194 AliMuonInfoStoreMC.cxx:195 AliMuonInfoStoreMC.cxx:196 AliMuonInfoStoreMC.cxx:197 AliMuonInfoStoreMC.cxx:198 AliMuonInfoStoreMC.cxx:199 AliMuonInfoStoreMC.cxx:200 AliMuonInfoStoreMC.cxx:201 AliMuonInfoStoreMC.cxx:202 AliMuonInfoStoreMC.cxx:203 AliMuonInfoStoreMC.cxx:204 AliMuonInfoStoreMC.cxx:205 AliMuonInfoStoreMC.cxx:206 AliMuonInfoStoreMC.cxx:207 AliMuonInfoStoreMC.cxx:208 AliMuonInfoStoreMC.cxx:209 AliMuonInfoStoreMC.cxx:210 AliMuonInfoStoreMC.cxx:211 AliMuonInfoStoreMC.cxx:212 AliMuonInfoStoreMC.cxx:213 AliMuonInfoStoreMC.cxx:214 AliMuonInfoStoreMC.cxx:215 AliMuonInfoStoreMC.cxx:216 AliMuonInfoStoreMC.cxx:217 AliMuonInfoStoreMC.cxx:218 AliMuonInfoStoreMC.cxx:219 AliMuonInfoStoreMC.cxx:220 AliMuonInfoStoreMC.cxx:221 AliMuonInfoStoreMC.cxx:222 AliMuonInfoStoreMC.cxx:223 AliMuonInfoStoreMC.cxx:224 AliMuonInfoStoreMC.cxx:225 AliMuonInfoStoreMC.cxx:226 AliMuonInfoStoreMC.cxx:227 AliMuonInfoStoreMC.cxx:228 AliMuonInfoStoreMC.cxx:229 AliMuonInfoStoreMC.cxx:230 AliMuonInfoStoreMC.cxx:231 AliMuonInfoStoreMC.cxx:232 AliMuonInfoStoreMC.cxx:233 AliMuonInfoStoreMC.cxx:234 AliMuonInfoStoreMC.cxx:235 AliMuonInfoStoreMC.cxx:236 AliMuonInfoStoreMC.cxx:237 AliMuonInfoStoreMC.cxx:238 AliMuonInfoStoreMC.cxx:239 AliMuonInfoStoreMC.cxx:240 AliMuonInfoStoreMC.cxx:241 AliMuonInfoStoreMC.cxx:242 AliMuonInfoStoreMC.cxx:243 AliMuonInfoStoreMC.cxx:244 AliMuonInfoStoreMC.cxx:245 AliMuonInfoStoreMC.cxx:246 AliMuonInfoStoreMC.cxx:247 AliMuonInfoStoreMC.cxx:248 AliMuonInfoStoreMC.cxx:249 AliMuonInfoStoreMC.cxx:250 AliMuonInfoStoreMC.cxx:251 AliMuonInfoStoreMC.cxx:252 AliMuonInfoStoreMC.cxx:253 AliMuonInfoStoreMC.cxx:254 AliMuonInfoStoreMC.cxx:255 AliMuonInfoStoreMC.cxx:256 AliMuonInfoStoreMC.cxx:257 AliMuonInfoStoreMC.cxx:258 AliMuonInfoStoreMC.cxx:259 AliMuonInfoStoreMC.cxx:260 AliMuonInfoStoreMC.cxx:261 AliMuonInfoStoreMC.cxx:262 AliMuonInfoStoreMC.cxx:263 AliMuonInfoStoreMC.cxx:264 AliMuonInfoStoreMC.cxx:265 AliMuonInfoStoreMC.cxx:266 AliMuonInfoStoreMC.cxx:267 AliMuonInfoStoreMC.cxx:268 AliMuonInfoStoreMC.cxx:269 AliMuonInfoStoreMC.cxx:270 AliMuonInfoStoreMC.cxx:271 AliMuonInfoStoreMC.cxx:272 AliMuonInfoStoreMC.cxx:273 AliMuonInfoStoreMC.cxx:274 AliMuonInfoStoreMC.cxx:275 AliMuonInfoStoreMC.cxx:276 AliMuonInfoStoreMC.cxx:277 AliMuonInfoStoreMC.cxx:278 AliMuonInfoStoreMC.cxx:279 AliMuonInfoStoreMC.cxx:280 AliMuonInfoStoreMC.cxx:281 AliMuonInfoStoreMC.cxx:282 AliMuonInfoStoreMC.cxx:283 AliMuonInfoStoreMC.cxx:284 AliMuonInfoStoreMC.cxx:285 AliMuonInfoStoreMC.cxx:286 AliMuonInfoStoreMC.cxx:287 AliMuonInfoStoreMC.cxx:288 AliMuonInfoStoreMC.cxx:289 AliMuonInfoStoreMC.cxx:290 AliMuonInfoStoreMC.cxx:291 AliMuonInfoStoreMC.cxx:292 AliMuonInfoStoreMC.cxx:293 AliMuonInfoStoreMC.cxx:294 AliMuonInfoStoreMC.cxx:295 AliMuonInfoStoreMC.cxx:296 AliMuonInfoStoreMC.cxx:297 AliMuonInfoStoreMC.cxx:298 AliMuonInfoStoreMC.cxx:299 AliMuonInfoStoreMC.cxx:300 AliMuonInfoStoreMC.cxx:301 AliMuonInfoStoreMC.cxx:302 AliMuonInfoStoreMC.cxx:303 AliMuonInfoStoreMC.cxx:304 AliMuonInfoStoreMC.cxx:305 AliMuonInfoStoreMC.cxx:306 AliMuonInfoStoreMC.cxx:307 AliMuonInfoStoreMC.cxx:308 AliMuonInfoStoreMC.cxx:309 AliMuonInfoStoreMC.cxx:310 AliMuonInfoStoreMC.cxx:311 AliMuonInfoStoreMC.cxx:312 AliMuonInfoStoreMC.cxx:313 AliMuonInfoStoreMC.cxx:314 AliMuonInfoStoreMC.cxx:315 AliMuonInfoStoreMC.cxx:316 AliMuonInfoStoreMC.cxx:317 AliMuonInfoStoreMC.cxx:318 AliMuonInfoStoreMC.cxx:319 AliMuonInfoStoreMC.cxx:320 AliMuonInfoStoreMC.cxx:321 AliMuonInfoStoreMC.cxx:322 AliMuonInfoStoreMC.cxx:323 AliMuonInfoStoreMC.cxx:324 AliMuonInfoStoreMC.cxx:325 AliMuonInfoStoreMC.cxx:326 AliMuonInfoStoreMC.cxx:327 AliMuonInfoStoreMC.cxx:328 AliMuonInfoStoreMC.cxx:329 AliMuonInfoStoreMC.cxx:330 AliMuonInfoStoreMC.cxx:331 AliMuonInfoStoreMC.cxx:332 AliMuonInfoStoreMC.cxx:333 AliMuonInfoStoreMC.cxx:334 AliMuonInfoStoreMC.cxx:335 AliMuonInfoStoreMC.cxx:336 AliMuonInfoStoreMC.cxx:337 AliMuonInfoStoreMC.cxx:338 AliMuonInfoStoreMC.cxx:339 AliMuonInfoStoreMC.cxx:340 AliMuonInfoStoreMC.cxx:341 AliMuonInfoStoreMC.cxx:342 AliMuonInfoStoreMC.cxx:343 AliMuonInfoStoreMC.cxx:344 AliMuonInfoStoreMC.cxx:345 AliMuonInfoStoreMC.cxx:346 AliMuonInfoStoreMC.cxx:347 AliMuonInfoStoreMC.cxx:348 AliMuonInfoStoreMC.cxx:349 AliMuonInfoStoreMC.cxx:350 AliMuonInfoStoreMC.cxx:351 AliMuonInfoStoreMC.cxx:352 AliMuonInfoStoreMC.cxx:353 AliMuonInfoStoreMC.cxx:354 AliMuonInfoStoreMC.cxx:355 AliMuonInfoStoreMC.cxx:356 AliMuonInfoStoreMC.cxx:357 AliMuonInfoStoreMC.cxx:358 AliMuonInfoStoreMC.cxx:359 AliMuonInfoStoreMC.cxx:360 AliMuonInfoStoreMC.cxx:361 AliMuonInfoStoreMC.cxx:362 AliMuonInfoStoreMC.cxx:363 AliMuonInfoStoreMC.cxx:364 AliMuonInfoStoreMC.cxx:365 AliMuonInfoStoreMC.cxx:366 AliMuonInfoStoreMC.cxx:367 AliMuonInfoStoreMC.cxx:368 AliMuonInfoStoreMC.cxx:369 AliMuonInfoStoreMC.cxx:370 AliMuonInfoStoreMC.cxx:371 AliMuonInfoStoreMC.cxx:372 AliMuonInfoStoreMC.cxx:373 AliMuonInfoStoreMC.cxx:374 AliMuonInfoStoreMC.cxx:375 AliMuonInfoStoreMC.cxx:376 AliMuonInfoStoreMC.cxx:377 AliMuonInfoStoreMC.cxx:378 AliMuonInfoStoreMC.cxx:379 AliMuonInfoStoreMC.cxx:380 AliMuonInfoStoreMC.cxx:381 AliMuonInfoStoreMC.cxx:382 AliMuonInfoStoreMC.cxx:383 AliMuonInfoStoreMC.cxx:384 AliMuonInfoStoreMC.cxx:385 AliMuonInfoStoreMC.cxx:386 AliMuonInfoStoreMC.cxx:387 AliMuonInfoStoreMC.cxx:388 AliMuonInfoStoreMC.cxx:389 AliMuonInfoStoreMC.cxx:390 AliMuonInfoStoreMC.cxx:391