//Root includes
#include "TNamed.h"
-//AliRoot includes
+//AliRoot include
#include "AliLoader.h"
#include "AliMUONConstants.h"
#include "AliMUONData.h"
// fNglobaltrigger =0;
// fLocalTrigger = new TClonesArray("AliMUONLocalTrigger",234);
// fNlocaltrigger = 0;
-// fRecTracks = new TClonesArray("AliMUONTrack", 10);
+// fRecTracks = new TClonesArray("AliMUONTrack", 100);
// fNrectracks = 0; // really needed or GetEntriesFast sufficient ????
// filling tracks
if ( TreeT() && cRT ) {
sprintf(branchname,"%sTrack",GetName());
- branch = TreeT()->GetBranch(branchname);
TreeT()->Fill();
}
}
}
if (TreeT() && cRT ) {
- if (fRecTracks == 0x0) fRecTracks = new TClonesArray("AliMUONTrack",10);
+ if (fRecTracks == 0x0) fRecTracks = new TClonesArray("AliMUONTrack",100);
fNrectracks = 0;
sprintf(branchname,"%sTrack",GetName());
branch = TreeT()->GetBranch(branchname);
static TVirtualFitter* fgFitter; //! Pointer to track fitter
AliMUONEventReconstructor* fEventReconstructor; //! Pointer to EventReconstructor
AliMUONTrackParam fTrackParamAtVertex; // Track parameters at vertex
- TObjArray *fTrackHitsPtr; // Pointer to array of pointers to TrackHit's
+ TObjArray *fTrackHitsPtr; //! Pointer to array of pointers to TrackHit's
Int_t fNTrackHits; // Number of TrackHit's
Int_t fFitMCS; // 0(1) for fit without(with) multiple Coulomb scattering
Int_t fFitNParam; // 3(5) for fit with 3(5) parameters
fChambers = 0;
fStations = 0;
fStepManagerVersionOld = kFALSE;
+ fAngleEffect = kTRUE;
fStepMaxInActiveGas = 0.6;
fStepSum = 0x0;
fDestepSum = 0x0;
factory.Build(this, title);
fStepManagerVersionOld = kFALSE;
-
+ fAngleEffect = kTRUE;
fStepMaxInActiveGas = 0.6;
fStepSum = new Float_t [AliMUONConstants::NCh()];
Float_t yAngleEffect=0.;
Float_t thetawires = TMath::Abs( TMath::ASin( TMath::Sin(TMath::Pi()-theta) * TMath::Sin(phi) ) );// We use Pi-theta because z is negative
+
+ if (fAngleEffect){
if ( (BetaxGamma >3.2) && (thetawires*kRaddeg<=15.) ) {
BetaxGamma=TMath::Log(BetaxGamma);
eLossParticleELossMip = fElossRatio->Eval(BetaxGamma);
sigmaEffectThetadegrees/=(1.09833e+00+1.70000e-02*(thetawires*kRaddeg)); // The gap is different (4mm)
yAngleEffect=1.e-04*gRandom->Gaus(0,sigmaEffectThetadegrees); // Error due to the angle effect in cm
}
-
+ }
// One hit per chamber
GetMUONData()->AddHit(fIshunt, gAlice->GetMCApp()->GetCurrentTrackNumber(), iChamber, ipart,
void StepManagerOld();
void SetStepManagerVersionOld(Bool_t Opt)
{ fStepManagerVersionOld = Opt; }
+ void SetAngleEffect(Bool_t Opt)
+ { fAngleEffect = Opt; }
void SetStepMaxInActiveGas(Float_t StepMax)
{fStepMaxInActiveGas = StepMax; }
protected:
Int_t* fStations; //! allow to externally set which station to create
Bool_t fStepManagerVersionOld; // Version of StepManager, Default is false
+ Bool_t fAngleEffect; // Angle Effect along wires, Default is true
Float_t fStepMaxInActiveGas; // Step max in active gas default 0.6cm
virtual Int_t GetChamberId(Int_t volId) const;
// Loading MUON subsystem
AliMUON * MUON = (AliMUON *) gAlice->GetDetector("MUON");
AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
- MUONLoader->LoadHits("READ");
+ // MUONLoader->LoadHits("READ");
MUONLoader->LoadRecPoints("READ");
AliMUONData * muondata = MUON->GetMUONData();
muondata->SetLoader(MUONLoader);
for(Int_t i=0; i<Reco->GetNRecTracks(); i++) {
AliMUONTrack * track = (AliMUONTrack*) Reco->GetRecTracksPtr()->At(i);
muondata->AddRecTrack(*track);
- //printf(">>> TEST TEST Number of hits in the track %d is %d \n",i,track->GetNTrackHits());
+ //printf(">>> TEST TEST event %d Number of hits in the track %d is %d \n",event,i,track->GetNTrackHits());
}
-
+
muondata->Fill("RT");
- MUONLoader->WriteTracks("OVERWRITE");
+ MUONLoader->WriteTracks("OVERWRITE");
muondata->ResetRecTracks();
//MUONLoader->UnloadHits();
MUONLoader->UnloadRecPoints();
Output in MUON.Tracks.root using the new IO
as a TClonesArray of AliMUONTrack
+Note1.In the actual version (dec-03) the following data
+members of ALiMUONTrack: fgFitter, fEventReconstructor,
+and fTrackHitsPtr are not saved in the MUON.Track.root file
+
============================================================
How to run MUONCheck macro
============================================================