]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
event selection for muons added
authorlmilano <lmilano@cern.ch>
Tue, 8 Jul 2014 12:56:32 +0000 (14:56 +0200)
committerlmilano <lmilano@cern.ch>
Tue, 8 Jul 2014 12:56:32 +0000 (14:56 +0200)
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.cxx
PWGCF/Correlations/DPhi/AliAnalysisTaskPhiCorrelations.h

index 3cb706a2296f20cbfaea91e675e11d6beea71605..8caa6fd2b13aa0bdba188e5d2fc34520cb24139a 100644 (file)
@@ -125,6 +125,7 @@ fListOfHistos(0x0),
 // event QA
 fnTracksVertex(1),  // QA tracks pointing to principal vertex (= 3 default) 
 fZVertex(7.),
+fAcceptOnlyMuEvents(kFALSE),
 fCentralityMethod("V0M"),
 // track cuts
 fTrackEtaCut(0.8),
@@ -416,6 +417,7 @@ void  AliAnalysisTaskPhiCorrelations::AddSettingsTree()
   TTree *settingsTree   = new TTree("UEAnalysisSettings","Analysis Settings in UE estimation");
   settingsTree->Branch("fnTracksVertex", &fnTracksVertex,"nTracksVertex/I");
   settingsTree->Branch("fZVertex", &fZVertex,"ZVertex/D");
+  settingsTree->Branch("fAcceptOnlyMuEvents", &fAcceptOnlyMuEvents,"AcceptOnlyMuEvents/O");
   //settingsTree->Branch("fCentralityMethod", fCentralityMethod.Data(),"CentralityMethod/C");
   settingsTree->Branch("fTrackEtaCut", &fTrackEtaCut, "TrackEtaCut/D");
   settingsTree->Branch("fTrackEtaCutMin", &fTrackEtaCutMin, "TrackEtaCutMin/D");
@@ -555,8 +557,8 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseCorrectionMode()
     
   if (!fAnalyseUE->VertexSelection(vertexSupplier, 0, fZVertex)) 
     return;
-  
-  Float_t zVtx = 0;
+    
+    Float_t zVtx = 0;
   if (fAOD)
     zVtx = ((AliAODMCHeader*) vertexSupplier)->GetVtxZ();
   else
@@ -1142,6 +1144,9 @@ void  AliAnalysisTaskPhiCorrelations::AnalyseDataMode()
     return;
   }
   
+  // Reject events without a muon in the muon arm ************************************************
+  if(fAcceptOnlyMuEvents && !IsMuEvent())return;
+  
   // Vertex selection *************************************************
   if(!fAnalyseUE->VertexSelection(inputEvent, fnTracksVertex, fZVertex)) return;
   
@@ -1552,3 +1557,24 @@ TObjArray* AliAnalysisTaskPhiCorrelations::GetParticlesFromDetector(AliVEvent* i
   return obj;  
 }
 
+//____________________________________________________________________
+Bool_t AliAnalysisTaskPhiCorrelations::IsMuEvent(){
+  
+  if(!fAOD)
+    AliFatal("Muon selection only implemented on AOD");//FIXME to be implemented also for ESDs as in AliAnalyseLeadingTrackUE::GetAcceptedPArticles
+  for (Int_t iTrack = 0; iTrack < fAOD->GetNTracks(); iTrack++) {
+    AliAODTrack* track = fAOD->GetTrack(iTrack);
+    if (!track->IsMuonTrack()) continue;
+    //Float_t dca    = track->DCA();
+    //Float_t chi2   = track->Chi2perNDF();
+    Float_t rabs   = track->GetRAtAbsorberEnd();
+    Float_t eta    = track->Eta();
+    Int_t   matching   = track->GetMatchTrigger();
+    if (rabs < 17.6 || rabs > 89.5) continue;
+    if (eta < -4 || eta > -2.5) continue;
+    if (matching < 2) continue;
+    return kTRUE;
+  }
+  return kFALSE;
+  
+}
index d08337508b3929185289657ac2f3089259b944cd..b02d1ea5b06d5af7d095befb6813bc1d5a8fa82e 100644 (file)
@@ -87,6 +87,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     // for event QA
     void   SetTracksInVertex( Int_t val ){ fnTracksVertex = val; }
     void   SetZVertex( Double_t val )    { fZVertex = val; }
+    void   SetAcceptOnlyMuEvents( Bool_t val )    { fAcceptOnlyMuEvents = val; }
     
     // track cuts
     void   SetTrackEtaCut( Double_t val )    { fTrackEtaCut = val; }
@@ -154,6 +155,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     Bool_t AcceptEventCentralityWeight(Double_t centrality);
     void ShiftTracks(TObjArray* tracks, Double_t angle);
     TObjArray* GetParticlesFromDetector(AliVEvent* inputEvent, Int_t idet);
+    Bool_t IsMuEvent();
 
     // General configuration
     Int_t               fDebug;           //  Debug flag
@@ -197,9 +199,10 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     TList*              fListOfHistos;    //  Output list of containers 
     
     // Event QA cuts
-    Int_t              fnTracksVertex;        // QA tracks pointing to principal vertex
-    Double_t           fZVertex;              // Position of Vertex in Z direction
-    TString             fCentralityMethod;     // Method to determine centrality
+    Int_t              fnTracksVertex;          // QA tracks pointing to principal vertex
+    Double_t           fZVertex;                 // Position of Vertex in Z direction
+    Bool_t             fAcceptOnlyMuEvents;   // Only Events with at least one muon are accepted
+    TString             fCentralityMethod;      // Method to determine centrality
     
     // Track cuts
     Double_t           fTrackEtaCut;          // Maximum Eta cut on particles
@@ -245,7 +248,7 @@ class  AliAnalysisTaskPhiCorrelations : public AliAnalysisTask
     
     Bool_t fFillpT;                // fill sum pT instead of number density
     
-    ClassDef(AliAnalysisTaskPhiCorrelations, 45); // Analysis task for delta phi correlations
+    ClassDef(AliAnalysisTaskPhiCorrelations, 46); // Analysis task for delta phi correlations
   };
 
 class AliDPhiBasicParticle : public AliVParticle