From: martinez Date: Fri, 12 Dec 2003 12:47:34 +0000 (+0000) Subject: Removing output of hit pointers in AliMUONTrack class. New switch in ALiMUONv1 for... X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=374ebd7d72f92609644291c503fba86192ec1cf7;hp=fea8896f8c50a5f8c49f555a9a492d21d6bb9409 Removing output of hit pointers in AliMUONTrack class. New switch in ALiMUONv1 for angle effect studies. Updating README. --- diff --git a/MUON/AliMUONData.cxx b/MUON/AliMUONData.cxx index 969eade6f16..77c59fd86f7 100644 --- a/MUON/AliMUONData.cxx +++ b/MUON/AliMUONData.cxx @@ -17,7 +17,7 @@ //Root includes #include "TNamed.h" -//AliRoot includes +//AliRoot include #include "AliLoader.h" #include "AliMUONConstants.h" #include "AliMUONData.h" @@ -79,7 +79,7 @@ AliMUONData::AliMUONData(AliLoader * loader, const char* name, const char* title // 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 ???? @@ -287,7 +287,6 @@ void AliMUONData::Fill(Option_t* option) // filling tracks if ( TreeT() && cRT ) { sprintf(branchname,"%sTrack",GetName()); - branch = TreeT()->GetBranch(branchname); TreeT()->Fill(); } } @@ -422,7 +421,7 @@ void AliMUONData::MakeBranch(Option_t* option) } 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); diff --git a/MUON/AliMUONTrack.h b/MUON/AliMUONTrack.h index 743d54aa85a..01eb117689f 100644 --- a/MUON/AliMUONTrack.h +++ b/MUON/AliMUONTrack.h @@ -64,7 +64,7 @@ class AliMUONTrack : public TObject { 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 diff --git a/MUON/AliMUONv1.cxx b/MUON/AliMUONv1.cxx index ed0c538f68c..02850935c74 100644 --- a/MUON/AliMUONv1.cxx +++ b/MUON/AliMUONv1.cxx @@ -46,6 +46,7 @@ AliMUONv1::AliMUONv1() : AliMUON() fChambers = 0; fStations = 0; fStepManagerVersionOld = kFALSE; + fAngleEffect = kTRUE; fStepMaxInActiveGas = 0.6; fStepSum = 0x0; fDestepSum = 0x0; @@ -66,7 +67,7 @@ AliMUONv1::AliMUONv1(const char *name, const char *title) factory.Build(this, title); fStepManagerVersionOld = kFALSE; - + fAngleEffect = kTRUE; fStepMaxInActiveGas = 0.6; fStepSum = new Float_t [AliMUONConstants::NCh()]; @@ -1730,6 +1731,8 @@ void AliMUONv1::StepManager() 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); @@ -1741,7 +1744,7 @@ void AliMUONv1::StepManager() 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, diff --git a/MUON/AliMUONv1.h b/MUON/AliMUONv1.h index bbbe8d71e85..2e2c7649000 100644 --- a/MUON/AliMUONv1.h +++ b/MUON/AliMUONv1.h @@ -29,11 +29,14 @@ public: 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; diff --git a/MUON/MUONTracker.C b/MUON/MUONTracker.C index 17767d5dcce..534e89e9962 100644 --- a/MUON/MUONTracker.C +++ b/MUON/MUONTracker.C @@ -53,7 +53,7 @@ void MUONTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0, Int_t // 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); @@ -93,11 +93,11 @@ void MUONTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0, Int_t for(Int_t i=0; iGetNRecTracks(); 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(); diff --git a/MUON/README b/MUON/README index bcc784e3c08..03e7a65be0a 100644 --- a/MUON/README +++ b/MUON/README @@ -89,6 +89,10 @@ gSystem->Load("$ALICE_ROOT/MUON/MUONTracker_C.so") 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 ============================================================