Add flag to select hybrids with ITS reffit (Leticia)
authormvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Jul 2013 12:54:43 +0000 (12:54 +0000)
committermvl <mvl@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Jul 2013 12:54:43 +0000 (12:54 +0000)
JETAN/AliAnalysisTaskJetCluster.cxx
JETAN/AliAnalysisTaskJetCluster.h
JETAN/DEV/AliAnalysisTaskJetCluster.cxx
JETAN/DEV/AliAnalysisTaskJetCluster.h
PWGJE/AliAnalysisTaskJetCore.cxx
PWGJE/AliAnalysisTaskJetCore.h

index 78a0ee9..517ef2c 100644 (file)
@@ -118,6 +118,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster():
   fAvgTrials(1),
   fExternalWeight(1),
   fTrackEtaWindow(0.9),    
+  fRequireITSRefit(0),
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
@@ -285,6 +286,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster(const char* name):
   fAvgTrials(1),
   fExternalWeight(1),    
   fTrackEtaWindow(0.9),    
+  fRequireITSRefit(0),
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
@@ -1876,6 +1878,7 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
          if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks(),fFilterMask,tr->GetFilterMap());     
          continue;
        }
+        if(fRequireITSRefit==0){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
        if(TMath::Abs(tr->Eta())>fTrackEtaWindow){
          if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks());     
          continue;
@@ -1910,6 +1913,7 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
        else if(fFilterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal();
        else if(fFilterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal();
        if((fFilterMask>0)&&((!trackAOD->TestFilterBit(fFilterMask)||(!bGood))))continue;
+        if(fRequireITSRefit==0){if((trackAOD->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
        if(TMath::Abs(trackAOD->Eta())>fTrackEtaWindow) continue;
        if(trackAOD->Pt()<fTrackPtCut) continue;
        if(fDebug) printf("pt extra track %.2f \n", trackAOD->Pt());
index f73e96e..8d0cb5d 100644 (file)
@@ -63,6 +63,7 @@ class AliAnalysisTaskJetCluster : public AliAnalysisTaskSE
     virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
     virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
     virtual void SetEventSelection(Bool_t b){fEventSelection = b;}
+    virtual void SetRequireITSRefit(Int_t i){fRequireITSRefit=i;}
     virtual void SetRecEtaWindow(Float_t f){fRecEtaWindow = f;}
     virtual void SetTrackEtaWindow(Float_t f){fTrackEtaWindow = f;}
     virtual void SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
@@ -178,6 +179,7 @@ class AliAnalysisTaskJetCluster : public AliAnalysisTaskSE
     Float_t       fAvgTrials;             // Average nimber of trials
     Float_t       fExternalWeight;        // external weight
     Float_t       fTrackEtaWindow;        // eta window used for corraltion plots between rec and gen 
+    Int_t         fRequireITSRefit;       // to select hybrids with ITS refit only
     Float_t       fRecEtaWindow;          // eta window used for corraltion plots between rec and gen 
     Float_t       fTrackPtCut;            // minimum track pt to be accepted
     Float_t       fJetOutputMinPt;        // minimum p_t for jets to be written out
index 78a0ee9..517ef2c 100644 (file)
@@ -118,6 +118,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster():
   fAvgTrials(1),
   fExternalWeight(1),
   fTrackEtaWindow(0.9),    
+  fRequireITSRefit(0),
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
@@ -285,6 +286,7 @@ AliAnalysisTaskJetCluster::AliAnalysisTaskJetCluster(const char* name):
   fAvgTrials(1),
   fExternalWeight(1),    
   fTrackEtaWindow(0.9),    
+  fRequireITSRefit(0),
   fRecEtaWindow(0.5),
   fTrackPtCut(0.),                                                     
   fJetOutputMinPt(0.150),
@@ -1876,6 +1878,7 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
          if(fDebug>10)Printf("%s:%d Not matching filter %d/%d %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks(),fFilterMask,tr->GetFilterMap());     
          continue;
        }
+        if(fRequireITSRefit==0){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
        if(TMath::Abs(tr->Eta())>fTrackEtaWindow){
          if(fDebug>10)Printf("%s:%d Not matching eta %d/%d",(char*)__FILE__,__LINE__,it,aod->GetNumberOfTracks());     
          continue;
@@ -1910,6 +1913,7 @@ Int_t  AliAnalysisTaskJetCluster::GetListOfTracks(TList *list,Int_t type){
        else if(fFilterType == 1)bGood = trackAOD->IsHybridTPCConstrainedGlobal();
        else if(fFilterType == 2)bGood = trackAOD->IsHybridGlobalConstrainedGlobal();
        if((fFilterMask>0)&&((!trackAOD->TestFilterBit(fFilterMask)||(!bGood))))continue;
+        if(fRequireITSRefit==0){if((trackAOD->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
        if(TMath::Abs(trackAOD->Eta())>fTrackEtaWindow) continue;
        if(trackAOD->Pt()<fTrackPtCut) continue;
        if(fDebug) printf("pt extra track %.2f \n", trackAOD->Pt());
index 1d3bccd..8d0cb5d 100644 (file)
 # include "fastjet/PseudoJet.hh"
 #else
 namespace fastjet {
+  class PseudoJet;
   class ClusterSequenceArea;
   class AreaDefinition;
   class JetDefinition;
-  class PseudoJet;
 }
 #endif
 
-
 ////////////////
 class AliJetHeader;
 class AliESDEvent;
@@ -64,6 +63,7 @@ class AliAnalysisTaskJetCluster : public AliAnalysisTaskSE
     virtual void SetAODTrackInput(Bool_t b){fUseAODTrackInput = b;}
     virtual void SetAODMCInput(Bool_t b){fUseAODMCInput = b;}
     virtual void SetEventSelection(Bool_t b){fEventSelection = b;}
+    virtual void SetRequireITSRefit(Int_t i){fRequireITSRefit=i;}
     virtual void SetRecEtaWindow(Float_t f){fRecEtaWindow = f;}
     virtual void SetTrackEtaWindow(Float_t f){fTrackEtaWindow = f;}
     virtual void SetTrackTypeGen(Int_t i){fTrackTypeGen = i;}
@@ -179,6 +179,7 @@ class AliAnalysisTaskJetCluster : public AliAnalysisTaskSE
     Float_t       fAvgTrials;             // Average nimber of trials
     Float_t       fExternalWeight;        // external weight
     Float_t       fTrackEtaWindow;        // eta window used for corraltion plots between rec and gen 
+    Int_t         fRequireITSRefit;       // to select hybrids with ITS refit only
     Float_t       fRecEtaWindow;          // eta window used for corraltion plots between rec and gen 
     Float_t       fTrackPtCut;            // minimum track pt to be accepted
     Float_t       fJetOutputMinPt;        // minimum p_t for jets to be written out
index bd2f3b9..af8e2e2 100644 (file)
@@ -82,6 +82,7 @@ fCentMin(0.),
 fCentMax(100.),
 fNInputTracksMin(0),
 fNInputTracksMax(-1),
+fRequireITSRefit(0),
 fAngStructCloseTracks(0),
 fCheckMethods(0),
 fDoEventMixing(0), 
@@ -211,6 +212,7 @@ fCentMin(0.),
 fCentMax(100.),
 fNInputTracksMin(0),
 fNInputTracksMax(-1),
+fRequireITSRefit(0),
 fAngStructCloseTracks(0),
 fCheckMethods(0),
 fDoEventMixing(0),
@@ -1155,7 +1157,8 @@ Int_t  AliAnalysisTaskJetCore::GetListOfTracks(TList *list){
       if(fFilterType == 0)bGood = true;
       else if(fFilterType == 1)bGood = tr->IsHybridTPCConstrainedGlobal();
       else if(fFilterType == 2)bGood = tr->IsHybridGlobalConstrainedGlobal();    
-     if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue;
+      if((fFilterMask>0)&&!(tr->TestFilterBit(fFilterMask)))continue;
+      if(fRequireITSRefit==0){if((tr->GetStatus()&AliESDtrack::kITSrefit)==0)continue;}
       if(bGood==false) continue;
       if(TMath::Abs(tr->Eta())>0.9)continue;
       if(tr->Pt()<0.15)continue;
index 8a99aa5..8029559 100644 (file)
@@ -78,6 +78,7 @@ public:
    virtual void     SetCentMax(Float_t cent) { fCentMax = cent; }
    virtual void     SetNInputTracksMin(Int_t nTr) { fNInputTracksMin = nTr; }
    virtual void     SetNInputTracksMax(Int_t nTr) { fNInputTracksMax = nTr; }
+   virtual void     SetRequireITSRefit(Int_t nref) {fRequireITSRefit=nref;}
    virtual void     SetAngStructCloseTracks(Int_t yesno){fAngStructCloseTracks=yesno;}
    virtual void     SetCheckMethods(Int_t yesno){fCheckMethods=yesno;}
    virtual void     SetEventMixing(Int_t yesno){fDoEventMixing=yesno;}
@@ -142,6 +143,7 @@ private:
    Float_t fCentMax;     // upper bound on centrality
    Int_t   fNInputTracksMin;  // lower bound of nb. of input tracks
    Int_t   fNInputTracksMax;  // upper bound of nb. of input tracks
+   Int_t   fRequireITSRefit;
    Int_t   fAngStructCloseTracks;//only constituents or all tracks with R<0.8 for the angular structure
    Int_t   fCheckMethods;     //to look into more detail into the core
    Int_t   fDoEventMixing;