]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/muon/AliAnalysisTaskDimuonCFContainerBuilder.cxx
Updates on single muon HF analysis (Shuang)
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskDimuonCFContainerBuilder.cxx
index aacceb5d5b620131c93a71f4b3b88e0a58050f19..99e654111f3ab7eaac498d5640012c1752f8424d 100644 (file)
@@ -46,7 +46,8 @@ AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder
 {
   
   //Default constructor
-  
+  fNContributors[0]=0;
+  fNContributors[0]=10000;
   Double_t chilims[2]={0.,10000.};
   Double_t ptlims[2]={0.,100.};
   Double_t thetalims[2]={0.,180.};
@@ -85,6 +86,9 @@ AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder
   //
   Info("AliAnalysisTaskDimuonCFContainerBuilder","Calling Constructor");
 
+  fNContributors[0]=0;
+  fNContributors[0]=10000;
+
   SetReadAODData(readaod);
   SetReadMCinfo(readMC);
   SetIsAccProd(isaccept);
@@ -146,6 +150,19 @@ AliAnalysisTaskDimuonCFContainerBuilder::AliAnalysisTaskDimuonCFContainerBuilder
 {
   
   // Copy Constructor
+  fNContributors[0]=0;
+  fNContributors[0]=10000;
+
+
+  Double_t chilims[2]={0.,10000.};
+  Double_t ptlims[2]={0.,100.};
+  Double_t thetalims[2]={0.,180.};
+  Double_t vtxlims[2]={-1000.,1000.};
+  SetChi2Limits(chilims);
+  SetChi2MatchLimits(chilims);
+  SetPtSingMuLimits(ptlims);
+  SetThetaSingMuLimits(thetalims);
+  SetZprimVertLimits(vtxlims);
   
 }
 
@@ -625,7 +642,8 @@ void AliAnalysisTaskDimuonCFContainerBuilder::UserExec(Option_t *)
       ((TH1D*)(fOutput->FindObject("zvSPDcut")))->Fill(aod->GetPrimaryVertex()->GetZ());
       if (!fCutOnNContributors || (fCutOnNContributors && (aod->GetPrimaryVertex()->GetNContributors()>fNContributors[0] && aod->GetPrimaryVertex()->GetNContributors()<fNContributors[1]))){
       for (Int_t j = 0; j<ntracks; j++) {
-       AliAODTrack *mu1 = aod->GetTrack(j);
+       AliAODTrack *mu1 = dynamic_cast<AliAODTrack*>(aod->GetTrack(j));
+       if(!mu1) AliFatal("Not a standard AOD");
        if(!mu1->IsMuonTrack()) continue;
        if (mu1->Chi2perNDF()<fChi2Track[0] || mu1->Chi2perNDF()>fChi2Track[1]) continue;
        if (mu1->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu1->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;
@@ -644,7 +662,8 @@ void AliAnalysisTaskDimuonCFContainerBuilder::UserExec(Option_t *)
        ((TH1D*)(fOutput->FindObject("ymuonREC")))->Fill(rapiditymu1);
        if(chargemu1<0){
          for (Int_t jj = 0; jj<ntracks; jj++) { 
-           AliAODTrack *mu2 = aod->GetTrack(jj);
+           AliAODTrack *mu2 = dynamic_cast<AliAODTrack*>(aod->GetTrack(jj));
+           if(!mu2) AliFatal("Not a standard AOD");
            if(!mu2->IsMuonTrack()) continue;
            if (mu2->Chi2perNDF()<fChi2Track[0] || mu2->Chi2perNDF()>fChi2Track[1]) continue;
            if (mu2->GetChi2MatchTrigger()<fChi2MatchTrig[0] || mu2->GetChi2MatchTrigger()>fChi2MatchTrig[1]) continue;