]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliAnalysisTaskFastEmbedding.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskFastEmbedding.cxx
index 0fe959c0cd8b6c9efc9cfbd367a9f9c7203046cd..46b723a7181dac00c3e0dfff6e794d0bfde116b3 100644 (file)
@@ -94,6 +94,7 @@ AliAnalysisTaskFastEmbedding::AliAnalysisTaskFastEmbedding()
 ,fEvtSelMaxJetEta( 999.)
 ,fEvtSelMinJetPhi(0.)
 ,fEvtSelMaxJetPhi(TMath::Pi()*2.)
+,fExtraEffPb(1)
 ,fToyMinNbOfTracks(1)
 ,fToyMaxNbOfTracks(1)
 ,fToyMinTrackPt(50.)
@@ -178,6 +179,7 @@ AliAnalysisTaskFastEmbedding::AliAnalysisTaskFastEmbedding(const char *name)
 ,fEvtSelMaxJetEta( 999.)
 ,fEvtSelMinJetPhi(0.)
 ,fEvtSelMaxJetPhi(TMath::Pi()*2.)
+,fExtraEffPb(1)
 ,fToyMinNbOfTracks(1)
 ,fToyMaxNbOfTracks(1)
 ,fToyMinTrackPt(50.)
@@ -262,6 +264,7 @@ AliAnalysisTaskFastEmbedding::AliAnalysisTaskFastEmbedding(const AliAnalysisTask
 ,fEvtSelMaxJetEta(copy.fEvtSelMaxJetEta)
 ,fEvtSelMinJetPhi(copy.fEvtSelMinJetPhi)
 ,fEvtSelMaxJetPhi(copy.fEvtSelMaxJetPhi)
+,fExtraEffPb(copy.fExtraEffPb)
 ,fToyMinNbOfTracks(copy.fToyMinNbOfTracks)
 ,fToyMaxNbOfTracks(copy.fToyMaxNbOfTracks)
 ,fToyMinTrackPt(copy.fToyMinTrackPt)
@@ -349,6 +352,7 @@ AliAnalysisTaskFastEmbedding& AliAnalysisTaskFastEmbedding::operator=(const AliA
       fEvtSelMaxJetEta   = o.fEvtSelMaxJetEta;
       fEvtSelMinJetPhi   = o.fEvtSelMinJetPhi;
       fEvtSelMaxJetPhi   = o.fEvtSelMaxJetPhi;
+      fExtraEffPb        = o.fExtraEffPb;
       fToyMinNbOfTracks  = o.fToyMinNbOfTracks;
       fToyMaxNbOfTracks  = o.fToyMaxNbOfTracks;
       fToyMinTrackPt     = o.fToyMinTrackPt;
@@ -518,8 +522,8 @@ void AliAnalysisTaskFastEmbedding::UserCreateOutputObjects()
       
    }
    
-   fh1AODfile = new TH1I("fh1AODfile", "overview of opened AOD files from the array", 2300, -0.5, 2299.5);
-   fh2AODevent = new TH2I("fh1AODevent","selected events;file;event", 2500,-.5,2499.5,5000,-.5,4999.5);
+   fh1AODfile = new TH1I("fh1AODfile", "overview of opened AOD files from the array", 23, -0.5, 2299.5);
+   fh2AODevent = new TH2I("fh1AODevent","selected events;file;event", 25,-.5,2499.5,50,-.5,4999.5);
    fHistList->Add(fh1AODfile);
    fHistList->Add(fh2AODevent);
 
@@ -824,7 +828,8 @@ void AliAnalysisTaskFastEmbedding::UserExec(Option_t *)
             if(fEmbedMode==kAODFull)      tmpTr = fAODevent->GetTrack(it);
             if(fEmbedMode==kAODJetTracks) tmpTr = dynamic_cast<AliAODTrack*>(leadJet->GetRefTracks()->At(it));
             if(!tmpTr) continue;
-
+            Double_t rd=rndm->Uniform(0.,1.);
+            if(rd>fExtraEffPb) continue; 
             tmpTr->SetStatus(AliESDtrack::kEmbedded);
 
             new ((*tracks)[nAODtracks++]) AliAODTrack(*tmpTr); 
@@ -834,7 +839,7 @@ void AliAnalysisTaskFastEmbedding::UserExec(Option_t *)
                fh1TrackPt->Fill(tmpTr->Pt());
                fh2TrackEtaPhi->Fill(tmpTr->Eta(), tmpTr->Phi());
             }
-         }
+        }
 
          if(mcpartIN){
             Int_t nMCpart = mcpartIN->GetEntriesFast();
@@ -843,20 +848,23 @@ void AliAnalysisTaskFastEmbedding::UserExec(Option_t *)
             Int_t nAODmcpart=0;
             for(Int_t ip=0; ip<nMCpart; ++ip){
                AliAODMCParticle *tmpPart = (AliAODMCParticle*) mcpartIN->At(ip);
-
+              if(!tmpPart) continue;
                if(fEmbedMode==kAODJetTracks){
                   // jet track? else continue
                   // not implemented yet
                   continue;
                } 
 
-               new((*mcpartOUT)[nAODmcpart++]) AliAODMCParticle(*tmpPart);
-               dummy = (*mcpartOUT)[nAODmcpart-1];
+               if(tmpPart->IsPhysicalPrimary() && tmpPart->Charge()!=0. && tmpPart->Charge()!=-99.  && tmpPart->Pt()>0.){
+                new((*mcpartOUT)[nAODmcpart++]) AliAODMCParticle(*tmpPart);
+                dummy = (*mcpartOUT)[nAODmcpart-1];
+
+                if(fDebug>10) printf("added track %d with pT=%.2f to extra branch\n",nAODmcpart,tmpPart->Pt());
+                
+                fh1MCTrackPt->Fill(tmpPart->Pt());
+                fh2MCTrackEtaPhi->Fill(tmpPart->Eta(), tmpPart->Phi());
+                nPhysicalPrimary++;
 
-               if(tmpPart->IsPhysicalPrimary() && tmpPart->Charge()!=0. && tmpPart->Charge()!=-99. ){
-                  fh1MCTrackPt->Fill(tmpPart->Pt());
-                  fh2MCTrackEtaPhi->Fill(tmpPart->Eta(), tmpPart->Phi());
-                  nPhysicalPrimary++;
                }
             }
             fh1MCTrackN->Fill((Float_t)nPhysicalPrimary);
@@ -936,7 +944,7 @@ void AliAnalysisTaskFastEmbedding::UserExec(Option_t *)
          NULL,   // covMatrix,
          -99,    // charge
          0,      // itsClusMap
-         NULL,   // pid 
+        //         NULL,   // pid 
          NULL,   // prodVertex
          kFALSE, // used for vertex fit
          kFALSE, // used for prim vtx fit