// propagete to Alignment class
// and printout
AliMagF* magF = dynamic_cast<AliMagF*>( TGeoGlobalMagField::Instance()->GetField() );
+ if ( !magF ) {
+ AliError( "Failed to get field" );
+ return;
+ }
+
fBFieldOn = TMath::Abs( magF->GetFactorDip() ) > 1e-5;
fAlign->SetBFieldOn( fBFieldOn );
AliInfo( Form( "Dipole magnetic field factor: %.2f", magF->GetFactorDip() ) );
dEoccupancyBending[ichamber][idetele],
dEoccupancyNonBending[ichamber][idetele]);
- if ( dEchannelsBending[ichamber][idetele] != 0 && dEchannelsBending[ichamber][idetele] !=0 ) {
+ if ( dEchannelsBending[ichamber][idetele] != 0 && dEchannelsNonBending[ichamber][idetele] !=0 ) {
printf(">>> DetEle %4d Occupancy Bending %5.2f %% Occupancy NonBending %5.2f %% \n",
idetele+100*(ichamber+1),
100.*((Float_t) dEoccupancyBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]),
- 100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsBending[ichamber][idetele]));
+ 100.*((Float_t) dEoccupancyNonBending[ichamber][idetele])/((Float_t) dEchannelsNonBending[ichamber][idetele]));
}
}
}
}
//====================================
Bool_t AliMUONTrackLight::IsDiquark(Int_t pdg) const{
- /// check if the provided pdg code corresponds to a diquark
+ /// check if the provided pdg code corresponds to a diquark
pdg = TMath::Abs(pdg);
if((pdg > 1000) && (pdg%100 < 10)) return kTRUE;
else return kFALSE;
}
+//====================================
+void AliMUONTrackLight::SetParentPDGCode(Int_t index, Int_t pdg) {
+ /// Set hadronised parents and grandparents
+ if ( index < fgkNParentsMax ) {
+ fParentPDGCode[index] = pdg;
+ } else {
+ AliErrorStream() << "Index outside the array size." << std::endl;
+ }
+}
+//====================================
+void AliMUONTrackLight::SetParentPythiaLine(Int_t index, Int_t line) {
+ /// Set line of Pythia output for hadronised parents & grandparents
+ if ( index < fgkNParentsMax ) {
+ fParentPythiaLine[index] = line;
+ } else {
+ AliErrorStream() << "Index outside the array size." << std::endl;
+ }
+}
+//====================================
+void AliMUONTrackLight::SetQuarkPDGCode(Int_t index, Int_t pdg){
+ /// Set pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
+ if ( index < 4 ) {
+ fQuarkPDGCode[index] = pdg;
+ } else {
+ AliErrorStream() << "Index outside the array size." << std::endl;
+ }
+}
+//====================================
+void AliMUONTrackLight::SetQuarkPythiaLine(Int_t index, Int_t line){
+ /// Set line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
+ if ( index < 4 ) {
+ fQuarkPythiaLine[index] = line;
+ } else {
+ AliErrorStream() << "Index outside the array size." << std::endl;
+ }
+}
/// Set flag for oscillation
void SetOscillation(Bool_t oscillation) { fOscillation = oscillation; }
/// Set hadronised parents and grandparents
- void SetParentPDGCode(Int_t index, Int_t pdg) { fParentPDGCode[index] = pdg; }
+ void SetParentPDGCode(Int_t index, Int_t pdg);
/// Set line of Pythia output for hadronised parents & grandparents
- void SetParentPythiaLine(Int_t index, Int_t line) { fParentPythiaLine[index] = line; }
+ void SetParentPythiaLine(Int_t index, Int_t line);
/// Set pdg of the string [0], quarks/gluons [1,2], sometimes proton [3]
- void SetQuarkPDGCode(Int_t index, Int_t pdg){ fQuarkPDGCode[index] = pdg; }
+ void SetQuarkPDGCode(Int_t index, Int_t pdg);
/// Set line of Pythia output for string [0] and quarks [1,2], sometimes proton [3]
- void SetQuarkPythiaLine(Int_t index, Int_t line){ fQuarkPythiaLine[index] = line; }
+ void SetQuarkPythiaLine(Int_t index, Int_t line);
void ResetQuarkInfo();
ClassDef(AliMUONTrackLight,1) /// Muon Track for analysis