developments of the pwg3 muon analysis code
DESCRIPTION
Developments of the PWG3 muon analysis code. Analysis Train for the standard AOD generation from the ESD. Analysis task to fill the standard AOD with the muon information. Preparation of AOD replication for muon tagged events. Other developments in the PWG3 muon analysis code:. - PowerPoint PPT PresentationTRANSCRIPT
1
Developments of the PWG3 muon analysis code
Alice Offline Week, July 10th 2008
Analysis Train for the standard AOD generation from the ESD
Preparation of AOD replication for muon tagged events
Analysis tasks for the determination of the efficiency of the
• Tracking chambers• Trigger chambers
Other developments in the PWG3 muon analysis code:
Analysis task to fill the standard AOD with the muon information
2
From the ESD to the standard AODUp to now the AOD generation from ESD was done using only one analysis task
ANALYSIS/AliAnalysisTaskESDfilter.cxxfor all the tracks, including muons
Now there is a new analysis task which takes care of filling in the AOD the muon tracks to allow a better modularity
PWG3/muon/AliAnalysisTaskESDMuonFilter.cxx
AliAnalysisTaskESDfilter
AliAnalysisTaskESDMuonFilter
ESD
AOD
AliAnalysisTaskESDfilter
ESD
AOD
3
Analysis Train
The AOD creation from the ESD will now be done calling the two analysis tasks:
AliAnalysisTaskESDMuonFilter *esdmuonfilter = new AliAnalysisTaskESDMuonFilter("ESDs");
1) ANALYSIS/AliAnalysisTaskESDfilter.cxx which writes in the AOD:• the header of the event• all the tracks apart from muons• other infos
2) PWG3/muon/AliAnalysisTaskESDMuonFilter.cxx which updates • the tracks branch in the AOD, adding the muons• the header of the event
AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
Muon information are copied from
AliESDMuonTrack AliAODTrack
4
New methods in AliAODTrack
Track parameters at DCA have been added to the AliAODTrack:
• Double32_t fMomentumAtDCA[3]; // momentum (px,py,pz) at DCA • Double32_t fPositionAtDCA[2]; // trasverse position (x,y) at DCA
• void SetXYAtDCA(Double_t x, Double_t y); • void SetPxPyPzAtDCA(Double_t pX, Double_t pY, Double_t pZ);• Double_t XAtDCA();• Double_t YAtDCA();• Double_t ZAtDCA();• Bool_t XYZAtDCA(Double_t x[3]);• Double_t DCA();• Double_t PxAtDCA();• Double_t PyAtDCA();• Double_t PzAtDCA();• Double_t PAtDCA();• Bool_t PxPyPzAtDCA(Double_t p[3]);
Philippe Pillot
Corrected methods dealing with fITSMuonClusterMap in AliAODTrack with the method AliAODTrack::IsMuonTrack() it is possible to correctly select muons in the muon arm
In AliAnalysisTaskESDMuonFilter.cxx the AODTracks are now filled with these new infos
New methods added to the AliAODTrack
5
Test of the analysis train
The analysis train has been tested
• Locally• CAF• GRID by Mihaela Gheata
The macro has been tested on the CAF using some files from the PDC08/LHC08t minimum bias pp@14TeV PDC07/LHC07g dimuons pp@14TeV
The macro to run the analysis train on the CAF is
PWG3/muon/AnalysisTrainMuonCAF.C
6
AliESDMuonTrackCutsNew class implemented to provide the possibility to apply some selection cuts on the muon tracks before filling the AOD: PWG3/muon/AliESDMuonTrackCuts (based on a similar class already existing for the AliESDtrack: AliESDtrackCuts)
AliAnalysisTaskESDfilter
AliAnalysisTaskESDMuonFilter
ESD
AOD
Cuts on muon tracks
AliESDMuonTrackCuts* esdMuonTrackCut = new AliESDMuonTrackCuts("AliESDMuonTrackCuts", "");
esdMuonTrackCut->SetPtRange(0.,0.5); // examples of kinematic cuts that can be appliedesdMuonTrackCut->SetHistogramsOn(kTRUE); // methods to draw control histosesdMuonTrackCut->DefineHistograms();esdMuonTrackCut->DrawHistograms();
AliAnalysisFilter* trackMuonFilter = new AliAnalysisFilter("trackMuonFilter");trackMuonFilter->AddCuts(esdMuonTrackCuts);
AliAnalysisTaskESDMuonFilter *esdmuonfilter = new AliAnalysisTaskESDMuonFilter("Muon”);esdmuonfilter->SetTrackFilter(trackMuonFilter);
7
AliESDMuonTrackCuts (2)
For the moment only kinematic cuts are implemented
Number of tracks not surviving the pT cut
Number of tracks not surviving the p cut
Number of rejected tracks
Number of muon tracks
8
Muon-AOD replication
ESD
Standard AOD
MUON AOD replication
• This step is ready and tested
• AOD containing only events where muons in the dimuon spectrometer are present.
Need to select events containing only muons
9
Selection of muon events
Several possibilities to select events containing only muons:
2) Read the AliAODHeader and read the event only if it contains muons but in the AliAODHeader the number of muons is not stored.
3) Use the AliAODTags
Applying cuts on the Event level
1) Loop on the events and select only those containing muons time consuming
AliTagAnalysis *TagAna = new AliTagAnalysis("AOD"); AliEventTagCuts *evCuts = new AliEventTagCuts();evCuts->SetNMuonRange(1,1); TChain* chain1 = 0x0;TagAna->ChainLocalTags("/n60raid3/alice/roberta/ESDMuon/TagAODTest");chain1 = TagAna->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
10
AliAODTags
The AliAODTags can be the approach to follow in order to select events containing muons
Once we have tagged events containing at least one muon, the next step is the creation of a Muon-AOD replica containing:
• the header of the event• the full event which contains the muon
Replica of theevents Header
AOD
Muon AOD
AliAODTags
to filter muonsReplica of
track branchReplica of
other branches
11
Muon-AOD replica
The idea is to create a replica of the standard AOD containing events where at least one muon is present
• Method to automatically copy (from standard AOD to user-AOD) the header of the interesting events is already implemented AliAODHandler::SetNeedsHeaderReplication()
• Methods to automatically copy other branches from the standard AOD to the user AOD not yet available
Generalizing the code for AOD header replication, we have implemented, as a test, the replica of the TRACK branch for the interesting events
AliAODHandler::NeedsTracksBranchReplication()
12
Muon-AOD (2)
The replica is done in AliAnalysisTaskSE
AliAnalysisTaskSE::CreateOutputObject()If(handler->NeedsTracksBranchReplication(){ fAODTracks = new TClonesArray("AliAODTrack",500); handler->AddBranch("TClonesArray", &fAODTracks);}
AliAnalysisTaskSE::Exec()If(handler->NeedsTracksBranchReplication(){ AliAODInputHandler* aodH =dynamic_cast<AliAODInputHandler*>(fInputHandler); for(int i=0;i<InputEvent()->GetNumberOfTracks();i++){ AliAODTrack *track = dynamic_cast<AliAODTrack*>(InputEvent()->GetTrack(i)); new((*fAODTracks)[i]) AliAODTrack(*track);} }
Is this a suitable way to proceed in order to produce a replica of the AOD?
Code not yet committed
Should we foresee other methods to replicate all other useful branches?
13
Creation of Muon-AOD
MUON-AOD replication could be done in the official analysis train
small data size of the MUON AOD replica
Several AODs files could be merged
~106 muon tracks in a 3 hours run in p-p @ 14TeV at nominal luminosity
Our proposal:
In p-p @ 14TeV we expect 1 muon track out of ~200 min. bias collisions:
14
Method to add new branches (as the dimuon branch) to the standard AOD exists: AliAnalysisTaskSE:AddAODBranch()
Classes to compute dimuon information already existing
PWG3/MUON/AliAODDimuon.cxx
Adding dimuon information
Once the MUON-AOD replica will be available, it will be possible, maybe as a further step, to add a dimuon branch, to include dimuon information
Muon AOD Add dimuon branch
Dimuon AOD
Histos
Macros for analysis
15
Link between AODs and MCJulien Faivre
Requirement from the last PWG3 meeting:
Important to keep track of the link between the MC information and the AOD.What happens if the AOD granularity is different from the ESDs one?
16
Intrinsic efficiency of the tracking chambers
The intrinsic efficiency of the tracking chambers represents the “quality” of the wires chambers of the dimuon arm. This efficiency is given by:
This efficiency must be calculated with the real data. This is the goal of the Analysis task:
1. intrinsic efficiency as a function of the position in each detection element of each chamber. 2. total intrinsic efficiency of each chamber (one plane of detection elements)3. number of tracks used for the efficiency calculation (for errors calculation).
Number of muons detected by the chamber
Number of muons which have passed through the chamberεintrinsic=
Those classes depend on MUON packages our proposal is to create a new library PWG3muonMUON for the PWG3 classes that depend on MUON packages
AliAnalysisTaskMuonTrackingEff & AliCheckMuonDetEltResponse
Nicolas LeBris
17
Intrinsic efficiency of the tracking chambers (2)
AnalysisTaskMuonTrackingEff.C
RunAnalysisTaskMuonTrackingEff.C
AliAnalysisTaskMuonTrackingEff.cxxAliCheckMuonDetEltResponse.cxx
Input files
Output histograms
Efficiency as function of the position for each detection
element
Total efficiency of each chamber (10 chambers in
the spectrometer )
geometry.root
AliESDs.root
( local or batch mode)
AliMuonTrackingChamberEffHisto.root
Output file
Results from a simulation of 10000 J/Ψ (20000 muon tracks)
18
Intrinsic efficiency of the trigger chambers
The intrinsic efficiency of the trigger chambers is provided for the local boards
Efficiency will be calculated separately for bending and not bending plane
Diego Stocco
Trigger tracks are created when 3 out of 4 chambers are hit both on the bending and in the non-bending plane
Method already tested in the cosmic run
Efficiency will be calculated with the real data.
Number of muons detected by the chamber
Number of muons which have passed through the chamberεintrinsic=
19
Intrinsic efficiency of the trigger chambers (2)
AliAnalysisTaskTrigChEff.cxx
PWG3/muon/AnalysTrigChEff.C
Input files
AliESDs.root
( local or batch mode)
MUON.TriggerEfficiencyMaps.root which contains the ingredients for the eff. calculation
Output
20
Conclusions
Analysis Train (with separated filling of the muon tracks) has been tested locally/CAF/Grid
Production of muon AOD under discussion:
• The use of metadata information could help selecting events containing only muons.
• Need to replicate useful branches from the standard to the Muon AOD code to be completed and committed
Possibility of applying cuts on the muon tracks before filling the standard AOD has been implemented
AnalysisTasks for tracking/trigger chamber efficiency is ready