]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - JETAN/AliAnalysisTaskJetCluster.cxx
Add print on the found particle tag
[u/mrichter/AliRoot.git] / JETAN / AliAnalysisTaskJetCluster.cxx
index 69d8f268238a2e9a3198997e98a145837feaac64..1b27611e03ad0eaef7c61bdf5cb3306359db1308 100644 (file)
@@ -95,6 +95,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster():
   fEventSelection(kFALSE),     
   fFilterMask(0),
   fFilterType(0),
+  fJetTypes(kJet),
   fTrackTypeRec(kTrackUndef),
   fTrackTypeGen(kTrackUndef),  
   fNSkipLeadingRan(0),
@@ -106,6 +107,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster():
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
+  fMaxTrackPtInJet(100.),
   fJetTriggerPtCut(0),
   fVtxZCut(8),
   fVtxR2Cut(1),
@@ -207,6 +209,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster(const char* name):
   fEventSelection(kFALSE),                                                     
   fFilterMask(0),
   fFilterType(0),
+  fJetTypes(kJet),
   fTrackTypeRec(kTrackUndef),
   fTrackTypeGen(kTrackUndef),
   fNSkipLeadingRan(0),
@@ -218,6 +221,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster(const char* name):
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
+  fMaxTrackPtInJet(100.),
   fJetTriggerPtCut(0),
   fVtxZCut(8),
   fVtxR2Cut(1),
@@ -344,16 +348,18 @@ void AliAnalysisTaskJetCluster::UserCreateOutputObjects()
       //  -> cleared in the UserExec....
       // here we can also have the case that the brnaches are written to a separate file
       
-      fTCAJetsOut = new TClonesArray("AliAODJet", 0);
-      fTCAJetsOut->SetName(fNonStdBranch.Data());
-      AddAODBranch("TClonesArray",&fTCAJetsOut,fNonStdFile.Data());
-      
+      if(fJetTypes&kJet){
+       fTCAJetsOut = new TClonesArray("AliAODJet", 0);
+       fTCAJetsOut->SetName(fNonStdBranch.Data());
+       AddAODBranch("TClonesArray",&fTCAJetsOut,fNonStdFile.Data());
+      }
    
-      
-      fTCAJetsOutRan = new TClonesArray("AliAODJet", 0);
-      fTCAJetsOutRan->SetName(Form("%s_%s",fNonStdBranch.Data(),"random"));
-      AddAODBranch("TClonesArray",&fTCAJetsOutRan,fNonStdFile.Data());
-      
+      if(fJetTypes&kJetRan){
+       fTCAJetsOutRan = new TClonesArray("AliAODJet", 0);
+       fTCAJetsOutRan->SetName(Form("%s_%s",fNonStdBranch.Data(),"random"));
+       AddAODBranch("TClonesArray",&fTCAJetsOutRan,fNonStdFile.Data());
+      }
+
       if(fUseBackgroundCalc){
        if(!AODEvent()->FindListObject(Form("%s_%s",AliAODJetEventBackground::StdBranchName(),fNonStdBranch.Data()))){
          fAODJetBackgroundOut = new AliAODJetEventBackground();
@@ -365,17 +371,21 @@ void AliAnalysisTaskJetCluster::UserCreateOutputObjects()
       TString cName = Form("%sRandomConeSkip%02d",fNonStdBranch.Data(),fNSkipLeadingCone);
   
       if(fNRandomCones>0){
-       if(!AODEvent()->FindListObject(cName.Data())){
-         fTCARandomConesOut = new TClonesArray("AliAODJet", 0);
-         fTCARandomConesOut->SetName(cName.Data());
-         AddAODBranch("TClonesArray",&fTCARandomConesOut,fNonStdFile.Data());
+       if(fJetTypes&kRC){
+         if(!AODEvent()->FindListObject(cName.Data())){
+           fTCARandomConesOut = new TClonesArray("AliAODJet", 0);
+           fTCARandomConesOut->SetName(cName.Data());
+           AddAODBranch("TClonesArray",&fTCARandomConesOut,fNonStdFile.Data());
+         }
        }
        // create the branch with the random for the random cones on the random event
-       cName = Form("%sRandomCone_random",fNonStdBranch.Data());
-       if(!AODEvent()->FindListObject(cName.Data())){
-         fTCARandomConesOutRan = new TClonesArray("AliAODJet", 0);
-         fTCARandomConesOutRan->SetName(cName.Data());
-         AddAODBranch("TClonesArray",&fTCARandomConesOutRan,fNonStdFile.Data());
+       if(fJetTypes&kRCRan){
+         cName = Form("%sRandomCone_random",fNonStdBranch.Data());
+         if(!AODEvent()->FindListObject(cName.Data())){
+           fTCARandomConesOutRan = new TClonesArray("AliAODJet", 0);
+           fTCARandomConesOutRan->SetName(cName.Data());
+           AddAODBranch("TClonesArray",&fTCARandomConesOutRan,fNonStdFile.Data());
+         }
        }
       }
     
@@ -807,13 +817,15 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/)
 
  
   // now create the object that holds info about ghosts                        
+  /*
   if(!fUseBackgroundCalc&& fNonStdBranch.Length()==0){
     // reduce CPU time...
     fGhostArea = 0.5; 
     fActiveAreaRepeats = 0; 
   }
-   
- fastjet::GhostedAreaSpec ghostSpec(fGhostEtamax, fActiveAreaRepeats, fGhostArea);
+  */
+
+  fastjet::GhostedAreaSpec ghostSpec(fGhostEtamax, fActiveAreaRepeats, fGhostArea);
   fastjet::AreaType areaType =   fastjet::active_area;
   fastjet::AreaDefinition areaDef = fastjet::AreaDefinition(areaType,ghostSpec);
   fastjet::JetDefinition jetDef(fAlgorithm, fRparam, fRecombScheme, fStrategy);
@@ -934,6 +946,7 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/)
        fh1PtJetConstRec->Fill(part->Pt());
        if(aodOutJet){
          aodOutJet->AddTrack(fRef->At(constituents[ic].user_index()));
+         if(part->Pt()>fMaxTrackPtInJet)aodOutJet->SetTrigger(AliAODJet::kHighTrackPtTriggered);
        }
        if(j==0)fh1PtJetConstLeadingRec->Fill(part->Pt());
       }
@@ -1020,6 +1033,7 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/)
         for(int ir = 0;ir < fNRandomCones;ir++){
           AliAODJet *jC = (AliAODJet*)fTCARandomConesOut->At(ir);  
           if(jC&&jC->DeltaR(vp)<fRparam){
+            if(vp->Pt()>fMaxTrackPtInJet)jC->SetTrigger(AliAODJet::kHighTrackPtTriggered);
             jC->SetBgEnergy(jC->ChargedBgEnergy()+vp->Pt(),0);
           }
         }  
@@ -1042,6 +1056,7 @@ void AliAnalysisTaskJetCluster::UserExec(Option_t */*option*/)
           for(int ir = 0;ir < fTCARandomConesOutRan->GetEntriesFast();ir++){
             AliAODJet *jC = (AliAODJet*)fTCARandomConesOutRan->At(ir);  
             if(jC&&jC->DeltaR(&vTmpRanR)<fRparam){
+              if(vTmpRanR.Pt()>fMaxTrackPtInJet)jC->SetTrigger(AliAODJet::kHighTrackPtTriggered);
               jC->SetBgEnergy(jC->ChargedBgEnergy()+vTmpRanR.Pt(),0);
             }
           }  
@@ -1359,8 +1374,8 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
        AliAODTrack *tr = aod->GetTrack(it);
        Bool_t bGood = false;
        if(fFilterType == 0)bGood = true;
-       else if(fFilterType == 1)bGood = tr->IsHybridITSTPC();
-       else if(fFilterType == 2)bGood = tr->IsHybridTPC();
+       else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal();
+       else if(fFilterType == 2)bGood = tr->IsHybridGlobalConstrainedGlobal();
        if((fFilterMask>0)&&((!tr->TestFilterBit(fFilterMask)||(!bGood)))){
          if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks(),fFilterMask,tr->GetFilterMap());     
          continue;
@@ -1396,8 +1411,8 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
        if(!trackAOD)continue;
        Bool_t bGood = false;
        if(fFilterType == 0)bGood = true;
-       else if(fFilterType == 1)bGood = trackAOD->IsHybridITSTPC();
-       else if(fFilterType == 2)bGood = trackAOD->IsHybridTPC();
+       else if(fFilterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal();
+       else if(fFilterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal();
        if((fFilterMask>0)&&((!trackAOD->TestFilterBit(fFilterMask)||(!bGood))))continue;
         if(TMath::Abs(trackAOD->Eta())>fTrackEtaWindow) continue;
        if(trackAOD->Pt()<fTrackPtCut) continue;