Adding flags to enable/disable the Selection Bits
authorzconesa <zconesa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 30 Jan 2013 17:41:28 +0000 (17:41 +0000)
committerzconesa <zconesa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 30 Jan 2013 17:41:28 +0000 (17:41 +0000)
PWGHF/vertexingHF/AliAnalysisTaskSED0Mass.cxx
PWGHF/vertexingHF/AliAnalysisTaskSED0Mass.h
PWGHF/vertexingHF/AliAnalysisTaskSEHFQA.cxx
PWGHF/vertexingHF/AliAnalysisTaskSEHFQA.h

index 37005a8..e2eb1a2 100644 (file)
@@ -114,6 +114,7 @@ AliAnalysisTaskSED0Mass::AliAnalysisTaskSED0Mass(const char *name,AliRDHFCutsD0t
   fIsRejectSDDClusters(0),
   fFillPtHist(kTRUE),
   fFillImpParHist(kFALSE),
+  fUseSelectionBit(kTRUE),
   fWriteVariableTree(kFALSE),
   fVariablesTree(0),
   fCandidateVariables()
@@ -896,7 +897,7 @@ void AliAnalysisTaskSED0Mass::UserExec(Option_t */*option*/)
   for (Int_t iD0toKpi = 0; iD0toKpi < nInD0toKpi; iD0toKpi++) {
     AliAODRecoDecayHF2Prong *d = (AliAODRecoDecayHF2Prong*)inputArray->UncheckedAt(iD0toKpi);
  
-    if(d->GetSelectionMap()) if(!d->HasSelectionBit(AliRDHFCuts::kD0toKpiCuts)){
+    if(fUseSelectionBit && d->GetSelectionMap()) if(!d->HasSelectionBit(AliRDHFCuts::kD0toKpiCuts)){
        fNentries->Fill(2);
        continue; //skip the D0 from Dstar
       }
index c1c149b..1e2caf4 100644 (file)
@@ -56,6 +56,7 @@ class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
   void SetFillImpactParameterHistos(Bool_t flag) {fFillImpParHist=flag;}
   void SetSystem(Int_t sys){fSys=sys; if(fSys==1) SetFillVarHists(kFALSE);}
   void SetRejectSDDClusters(Bool_t flag) { fIsRejectSDDClusters=flag; }
+  void SetUseSelectionBit(Bool_t flag) { fUseSelectionBit=flag; }
   void SetWriteVariableTree(Bool_t flag) { fWriteVariableTree=flag; }
 
   Bool_t GetCutOnDistr() const {return fCutOnDistr;}
@@ -66,6 +67,7 @@ class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
   Bool_t GetFillImpactParameterHistos() const {return fFillImpParHist;}
   Int_t  GetSystem() const {return fSys;}
   Bool_t GetRejectSDDClusters() const { return fIsRejectSDDClusters; }
+  Bool_t GetUseSelectionBit() const { return fUseSelectionBit; }
   Bool_t GetWriteVariableTree() const {return fWriteVariableTree;}
 
  private:
@@ -100,13 +102,14 @@ class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
   Bool_t    fIsRejectSDDClusters; // flag to reject events with SDD clusters
   Bool_t    fFillPtHist;          // flag to fill Pt and Impact Parameter Histograms
   Bool_t    fFillImpParHist;      // flag to fill Pt and Impact Parameter Histograms
+  Bool_t    fUseSelectionBit;     // flag to check or not the selection bit
 
   Bool_t    fWriteVariableTree;       // flag to decide whether to write the candidate variables on a tree variables
   TTree    *fVariablesTree;           //! tree of the candidate variables after track selection on output slot 7
   Double_t *fCandidateVariables;      //!  variables to be written to the tree
 
 
-  ClassDef(AliAnalysisTaskSED0Mass,16); // AliAnalysisTaskSE for D0->Kpi
+  ClassDef(AliAnalysisTaskSED0Mass,17); // AliAnalysisTaskSE for D0->Kpi
 };
 
 #endif
index a8b14cb..88dc515 100644 (file)
@@ -118,6 +118,7 @@ AliAnalysisTaskSEHFQA::AliAnalysisTaskSEHFQA(const char *name, AliAnalysisTaskSE
   fEstimator(AliRDHFCuts::kCentTRK),
   fReadMC(kFALSE),
   fSimpleMode(kFALSE),
+  fUseSelectionBit(kTRUE),
   fOnOff()
 {
   //constructor
@@ -1502,7 +1503,7 @@ void AliAnalysisTaskSEHFQA::UserExec(Option_t */*option*/)
 
       for (Int_t iCand = 0; iCand < nCand; iCand++) {
        AliAODRecoDecayHF *d = (AliAODRecoDecayHF*)arrayProng->UncheckedAt(iCand);
-       if(d->GetSelectionMap()) {
+       if(fUseSelectionBit && d->GetSelectionMap()) {
          if(fDecayChannel==AliAnalysisTaskSEHFQA::kD0toKpi && !d->HasSelectionBit(AliRDHFCuts::kD0toKpiCuts)) continue; //skip the D0 from Dstar
          if(fDecayChannel==AliAnalysisTaskSEHFQA::kDplustoKpipi && !d->HasSelectionBit(AliRDHFCuts::kDplusCuts)) continue; //skip the 3 prong !D+
        }
index 7d94b0a..b266669 100644 (file)
@@ -49,6 +49,7 @@ class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE
   void SetCentralityOn(Bool_t centron=kTRUE){fOnOff[2]=centron;}
   void SetEvSelectionOn(Bool_t evselon=kTRUE){fOnOff[3]=evselon;}
   void SetFlowObsOn(Bool_t flowobson=kTRUE){fOnOff[4]=flowobson;}
+  void SetUseSelectionBit(Bool_t selectionbiton=kTRUE){fUseSelectionBit=selectionbiton;}
 
   //getters
   AliRDHFCuts* GetCutObject() const {return fCuts;}
@@ -58,6 +59,7 @@ class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE
   Bool_t GetCentralityStatus() const {return fOnOff[2];}
   Bool_t GetEvSelStatus() const {return fOnOff[3];}
   Bool_t GetFlowObsStatus() const {return fOnOff[4];}
+  Bool_t GetUseSelectionBit() const {return fUseSelectionBit;}
 
  private:
   AliAnalysisTaskSEHFQA(const AliAnalysisTaskSEHFQA &source);
@@ -78,8 +80,10 @@ class AliAnalysisTaskSEHFQA : public AliAnalysisTaskSE
  AliRDHFCuts::ECentrality fEstimator; //2nd estimator for centrality
  Bool_t fReadMC;           // flag to read MC
  Bool_t fSimpleMode;       // if true, don't do candidates (much faster in PbPb)
+ Bool_t fUseSelectionBit;  // flag to use or not the selection bit
  Bool_t fOnOff[5];         // on-off the QA on tracks (0), PID (1), centrality (2), event selection -- default is {kTRUE,kTRUE,kTRUE,kTRUE}
- ClassDef(AliAnalysisTaskSEHFQA,7); //AnalysisTaskSE for the quality assurance of HF in hadrons
+
+ ClassDef(AliAnalysisTaskSEHFQA,8); //AnalysisTaskSE for the quality assurance of HF in hadrons
 
 };