]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added an equivalent to the cuts 2010 for AODs and adapted the primary vertex cut...
authorpulvir <pulvir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 7 Oct 2010 19:05:50 +0000 (19:05 +0000)
committerpulvir <pulvir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 7 Oct 2010 19:05:50 +0000 (19:05 +0000)
PWG2/PWG2resonancesLinkDef.h
PWG2/RESONANCES/AliRsnCutAOD2010.cxx [new file with mode: 0644]
PWG2/RESONANCES/AliRsnCutAOD2010.h [new file with mode: 0644]
PWG2/RESONANCES/AliRsnCutPrimaryVertex.cxx
PWG2/libPWG2resonances.pkg

index 9f5b31ae11bba9d08aa0b00cc05ac5c4cdd58578..6d7ab041768bf932efb7bf5d5a272e8dc9a19869 100644 (file)
@@ -17,6 +17,7 @@
 #pragma link C++ class AliRsnCutPrimaryVertex+;
 #pragma link C++ class AliRsnCutDaughterType+;
 #pragma link C++ class AliRsnCutESD2010+;
+#pragma link C++ class AliRsnCutAOD2010+;
 #pragma link C++ class AliRsnCutValue+;
 
 #pragma link C++ class AliRsnCutSet+;
diff --git a/PWG2/RESONANCES/AliRsnCutAOD2010.cxx b/PWG2/RESONANCES/AliRsnCutAOD2010.cxx
new file mode 100644 (file)
index 0000000..bd506ad
--- /dev/null
@@ -0,0 +1,343 @@
+//
+// Class AliRsnCutAOD2010
+//
+// General implementation of a single cut strategy, which can be:
+// - a value contained in a given interval  [--> IsBetween()   ]
+// - a value equal to a given reference     [--> MatchesValue()]
+//
+// In all cases, the reference value(s) is (are) given as data members
+// and each kind of cut requires a given value type (Int, UInt, Double),
+// but the cut check procedure is then automatized and chosen thanks to
+// an enumeration of the implemented cut types.
+// At the end, the user (or any other point which uses this object) has
+// to use the method IsSelected() to check if this cut has been passed.
+//
+// authors: Martin Vala (martin.vala@cern.ch)
+//          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
+//
+
+#include <Riostream.h>
+
+#include <TBits.h>
+
+#include "AliESDtrack.h"
+#include "AliAODTrack.h"
+
+#include "AliRsnEvent.h"
+#include "AliRsnDaughter.h"
+#include "AliRsnCutAOD2010.h"
+
+ClassImp(AliRsnCutAOD2010)
+
+//_________________________________________________________________________________________________
+AliRsnCutAOD2010::AliRsnCutAOD2010() :
+  AliRsnCut(AliRsnCut::kDaughter),
+  
+  fIsMC(kFALSE),
+  fCheckITS(kTRUE),
+  fCheckTPC(kTRUE),
+  fCheckTOF(kTRUE),
+  fUseGlobal(kTRUE),
+  fUseITSSA(kTRUE),
+    
+  fPIDtype(AliPID::kKaon),
+  
+  fTPCminNclusters(70),
+  fTPCmaxChi2(4.0),
+  fTPCmaxNSigmaDCA(7.0),
+  fTPClowBand(5.0),
+  fTPChighBand(3.0),
+  fTPClowLimit(0.35),
+  
+  fITSminNclusters(4),
+  fITSmaxChi2(2.5),
+  fITSmaxNSigmaDCA(7.0),
+  fITSband(3.0),
+  
+  fTOFlowLimit(-2.5),
+  fTOFhighLimit(3.5),
+  fPID()
+{
+//
+// Default constructor.
+//
+  
+  Int_t i = 0;
+  for (i = 0; i < 3; i++) fTPCparamDCA[i] = fITSparamDCA[i] = 0.0;
+  for (i = 0; i < 5; i++) fTPCparamBB[i] = 0.0;
+}
+
+//_________________________________________________________________________________________________
+AliRsnCutAOD2010::AliRsnCutAOD2010
+(const char *name) :
+  AliRsnCut(name, AliRsnCut::kDaughter, 0.0, 0.0),
+
+  fIsMC(kFALSE),
+  fCheckITS(kTRUE),
+  fCheckTPC(kTRUE),
+  fCheckTOF(kTRUE),
+  fUseGlobal(kTRUE),
+  fUseITSSA(kTRUE),
+    
+  fPIDtype(AliPID::kKaon),
+  
+  fTPCminNclusters(70),
+  fTPCmaxChi2(4.0),
+  fTPCmaxNSigmaDCA(7.0),
+  fTPClowBand(5.0),
+  fTPChighBand(3.0),
+  fTPClowLimit(0.35),
+  
+  fITSminNclusters(4),
+  fITSmaxChi2(2.5),
+  fITSmaxNSigmaDCA(7.0),
+  fITSband(3.0),
+  
+  fTOFlowLimit(-2.5),
+  fTOFhighLimit(3.5),
+  fPID()
+{
+//
+// Main constructor.
+//
+
+  Int_t i = 0;
+  for (i = 0; i < 3; i++) fTPCparamDCA[i] = fITSparamDCA[i] = 0.0;
+  for (i = 0; i < 5; i++) fTPCparamBB[i] = 0.0;
+}
+
+//_________________________________________________________________________________________________
+AliRsnCutAOD2010::AliRsnCutAOD2010
+(const AliRsnCutAOD2010& copy) :
+  AliRsnCut(copy),
+  
+  fIsMC(copy.fIsMC),
+  fCheckITS(copy.fCheckITS),
+  fCheckTPC(copy.fCheckTPC),
+  fCheckTOF(copy.fCheckTOF),
+  fUseGlobal(copy.fUseGlobal),
+  fUseITSSA(copy.fUseITSSA),
+  
+  fPIDtype(copy.fPIDtype),
+  
+  fTPCminNclusters(copy.fTPCminNclusters),
+  fTPCmaxChi2(copy.fTPCmaxChi2),
+  fTPCmaxNSigmaDCA(copy.fTPCmaxNSigmaDCA),
+  fTPClowBand(copy.fTPClowBand),
+  fTPChighBand(copy.fTPChighBand),
+  fTPClowLimit(copy.fTPClowLimit),
+  
+  fITSminNclusters(copy.fITSminNclusters),
+  fITSmaxChi2(copy.fITSmaxChi2),
+  fITSmaxNSigmaDCA(copy.fITSmaxNSigmaDCA),
+  fITSband(copy.fITSband),
+  
+  fTOFlowLimit(copy.fTOFlowLimit),
+  fTOFhighLimit(copy.fTOFhighLimit),
+  fPID(copy.fPID)
+{
+//
+// Copy constructor
+//
+
+  Int_t i = 0;
+  for (i = 0; i < 3; i++) 
+  {
+    fTPCparamDCA[i] = copy.fTPCparamDCA[i];
+    fITSparamDCA[i] = copy.fITSparamDCA[i];
+  }
+  for (i = 0; i < 5; i++) fTPCparamBB[i] = copy.fTPCparamBB[i];
+}
+
+//_________________________________________________________________________________________________
+Bool_t AliRsnCutAOD2010::IsSelected(TObject *obj1, TObject* /*obj2*/)
+{
+//
+// Cut checker.
+//
+
+  // coherence check: require an AOD track
+  AliRsnDaughter *daughter = dynamic_cast<AliRsnDaughter*>(obj1);
+  if (!daughter) return kFALSE;
+  AliAODTrack *track = daughter->GetRefAODtrack();
+  if (!track) return kFALSE;
+  
+  // step #0: check presence of an SPD cluster
+  Int_t nITS = 0, nSPD = 0;
+  nSPD  = TESTBIT(track->GetITSClusterMap(), 0);
+  nSPD += TESTBIT(track->GetITSClusterMap(), 1);
+  nITS  = track->GetITSNcls() - nSPD;
+  if (nSPD <= 0)
+  {
+    AliDebug(AliLog::kDebug + 2, "No SPD clusters in this track. Rejected");
+    return kFALSE;
+  }
+
+  // step #1: check status flags and reject track if it does not match any possibility
+  Bool_t  isTPC   = track->IsOn(AliESDtrack::kTPCin) && track->IsOn(AliESDtrack::kTPCrefit) && track->IsOn(AliESDtrack::kITSrefit);
+  Bool_t  isITSSA = !track->IsOn(AliESDtrack::kTPCin) && track->IsOn(AliESDtrack::kITSrefit) && (!track->IsOn(AliESDtrack::kITSpureSA)) && track->IsOn(AliESDtrack::kITSpid);
+  Bool_t  isTOF   = track->IsOn(AliESDtrack::kTOFout) && track->IsOn(AliESDtrack::kTIME);
+  if (!isTPC && !isITSSA) 
+  {
+    AliDebug(AliLog::kDebug + 2, "Track is not either a TPC track or a ITS standalone. Rejected");
+    return kFALSE;
+  }
+  else if (isTPC && !fUseGlobal)
+  {
+    AliDebug(AliLog::kDebug + 2, "Global tracks not used. Rejected");
+    return kFALSE;
+  }
+  else if (isITSSA && !fUseITSSA)
+  {
+    AliDebug(AliLog::kDebug + 2, "ITS standalone not used. Rejected");
+    return kFALSE;
+  }
+  
+  // step #2: check number of clusters
+  Int_t count = 0;
+  if (isTPC)
+  {
+    count = track->GetTPCNcls();
+    if (count < fTPCminNclusters)
+    {
+      AliDebug(AliLog::kDebug + 2, "Too few clusters. Rejected");
+      return kFALSE;
+    }
+  }
+  else // then is ITS-SA
+  {
+    count = track->GetITSNcls();
+    if (count < fITSminNclusters)
+    {
+      AliDebug(AliLog::kDebug + 2, "Too few clusters. Rejected");
+      return kFALSE;
+    }
+  }
+  
+  // step #3: check chi square
+  if (isTPC)
+  {
+    if (track->Chi2perNDF() > fTPCmaxChi2)
+    {
+      AliDebug(AliLog::kDebug + 2, "Bad chi2. Rejected");
+      return kFALSE;
+    }
+  }
+  else
+  {
+    if (track->Chi2perNDF() > fITSmaxChi2)
+    {
+      AliDebug(AliLog::kDebug + 2, "Bad chi2. Rejected");
+      return kFALSE;
+    }
+  }
+  
+  // step #4: reject kink daughters
+  AliAODVertex *vertex = track->GetProdVertex();
+  if (isTPC && vertex != 0x0)
+  {
+    if (vertex->GetType() == AliAODVertex::kKink && vertex->HasDaughter(track))
+    {
+      AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
+      return kFALSE;
+    }
+  }
+  
+  // step #5: DCA cut (transverse)
+  Double_t sigmaDCA = 0.0, nsigma = 0.0;
+  if (isTPC)
+  {
+    sigmaDCA = fTPCparamDCA[0] + fTPCparamDCA[1] / TMath::Power(track->Pt(), fTPCparamDCA[2]);
+    nsigma = fTPCmaxNSigmaDCA;
+  }
+  else 
+  {
+    sigmaDCA = fITSparamDCA[0] + fITSparamDCA[1] / TMath::Power(track->Pt(), fITSparamDCA[2]);
+    nsigma = fITSmaxNSigmaDCA;
+  }
+  if (track->DCA() > nsigma * sigmaDCA)
+  {
+    AliDebug(AliLog::kDebug + 2, "Excceeded cut in DCA. Rejected");
+    return kFALSE;
+  }
+  
+  // step #6 PID cuts
+  Double_t bandTPC   = 0.0;
+  Double_t nsigmaTPC = 0.0;
+  Double_t nsigmaITS = 0.0;
+  Double_t nsigmaTOF = 0.0;
+  if (isTPC)   nsigmaTPC = fPID.NumberOfSigmasTPC(track, fPIDtype);
+  if (isITSSA) nsigmaITS = fPID.NumberOfSigmasITS(track, fPIDtype);
+  if (isTOF)   nsigmaTOF = fPID.NumberOfSigmasTOF(track, fPIDtype);
+  if (isITSSA && fCheckITS)
+  {
+    if (nITS < 3) return kFALSE;
+    if (TMath::Abs(nsigmaITS) > fITSband)
+    {
+      AliDebug(AliLog::kDebug + 2, "Bad ITS PID. Rejected");
+      return kFALSE;
+    }
+    else
+    {
+      AliDebug(AliLog::kDebug + 2, "Good ITS PID. Accepted");
+      return kFALSE;
+    }
+  }
+  else
+  {
+    if (fCheckTPC)
+    {
+      if (track->P() > fTPClowLimit) bandTPC = fTPChighBand; else bandTPC = fTPClowBand;
+      if (TMath::Abs(nsigmaTPC) > bandTPC) 
+      {
+        AliDebug(AliLog::kDebug + 2, "Bad TPC PID. Rejected");
+        return kFALSE;
+      }
+      else
+      {
+        AliDebug(AliLog::kDebug + 2, "Good TPC PID");
+        if (fCheckTOF && isTOF)
+        {
+          if (nsigmaTOF < fTOFlowLimit || nsigmaTOF > fTOFhighLimit)
+          {
+            AliDebug(AliLog::kDebug + 2, "Bad TOF PID. Rejected");
+            return kFALSE;
+          }
+          else
+          {
+            AliDebug(AliLog::kDebug + 2, "Good TOF PID. Accepted");
+            return kFALSE;
+          }
+        }
+        else
+        {
+          AliDebug(AliLog::kDebug + 2, "TOF not checked. Accepted");
+          return kTRUE;
+        }
+      }
+    }
+    else
+    {
+      if (fCheckTOF && isTOF)
+      {
+        if (nsigmaTOF < fTOFlowLimit || nsigmaTOF > fTOFhighLimit)
+        {
+          AliDebug(AliLog::kDebug + 2, "Bad TOF PID. Rejected");
+          return kFALSE;
+        }
+        else
+        {
+          AliDebug(AliLog::kDebug + 2, "Good TOF PID. Accepted");
+          return kFALSE;
+        }
+      }
+      else
+      {
+        AliDebug(AliLog::kDebug + 2, "No PID checked. Accepted");
+        return kTRUE;
+      }
+    }
+  }
+  
+  return kTRUE;
+}
diff --git a/PWG2/RESONANCES/AliRsnCutAOD2010.h b/PWG2/RESONANCES/AliRsnCutAOD2010.h
new file mode 100644 (file)
index 0000000..f8355d0
--- /dev/null
@@ -0,0 +1,95 @@
+//
+// Class AliRsnCutRange
+//
+// General implementation of cuts which check a value inside a range.
+// This range can be defined by two integers or two doubles.
+// A user-friendly enumeration allows to define what is checked.
+//
+// authors: Martin Vala (martin.vala@cern.ch)
+//          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
+//
+
+#ifndef ALIRSNCUTAOD2010_H
+#define ALIRSNCUTAOD2010_H
+
+#include "AliPID.h"
+#include "AliAODTrack.h"
+#include "AliAODpidUtil.h"
+
+#include "AliRsnCut.h"
+
+class AliRsnCutAOD2010 : public AliRsnCut
+{
+  public:
+
+    AliRsnCutAOD2010();
+    AliRsnCutAOD2010(const char *name);
+    AliRsnCutAOD2010(const AliRsnCutAOD2010& copy);
+    virtual ~AliRsnCutAOD2010() {;};
+
+    virtual Bool_t   IsSelected(TObject *obj1, TObject *obj2 = 0x0);
+    
+    void             SetMC       (Bool_t yn = kTRUE) {fIsMC = yn;}
+    void             SetCheckITS (Bool_t yn = kTRUE) {fCheckITS = yn;}
+    void             SetCheckTPC (Bool_t yn = kTRUE) {fCheckTPC = yn;}
+    void             SetCheckTOF (Bool_t yn = kTRUE) {fCheckTOF = yn;}
+    void             SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
+    void             SetUseITSSA (Bool_t yn = kTRUE) {fUseITSSA = yn;}
+    void             SetPIDtype  (AliPID::EParticleType pid) {fPIDtype = pid;}
+    
+    void             SetTPCminNclusters(Int_t v)         {fTPCminNclusters = v;}
+    void             SetTPCmaxChi2(Double_t v)           {fTPCmaxChi2 = v;}     
+    void             SetTPCmaxNSigmaDCA(Double_t v)      {fTPCmaxNSigmaDCA = v;}
+    void             SetTPCparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fTPCparamDCA[i] = v;} 
+    void             SetTPCparamBB(Int_t i, Double_t v)  {if (i >= 0 && i < 3) fTPCparamBB[i] = v;}  
+    void             SetTPClowBand(Double_t v)           {fTPClowBand = v;}     
+    void             SetTPChighBand(Double_t v)          {fTPChighBand = v;}    
+    void             SetTPClowLimit(Double_t v)          {fTPClowLimit = v;}    
+    
+    void             SetITSminNclusters(Int_t v)         {fITSminNclusters = v;}
+    void             SetITSmaxChi2(Double_t v)           {fITSmaxChi2 = v;}     
+    void             SetITSmaxNSigmaDCA(Double_t v)      {fITSmaxNSigmaDCA = v;}
+    void             SetITSparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fITSparamDCA[i] = v;} 
+    void             SetITSparamBB(Int_t i, Double_t v)  {if (i >= 0 && i < 3) fITSparamBB[i] = v;}  
+    void             SetITSband(Double_t v)              {fITSband = v;}    
+
+    void             SetTOFrange(Double_t v1, Double_t v2) {fTOFlowLimit = v1; fTOFhighLimit = v2;}
+
+  protected:
+  
+    AliRsnCutAOD2010& operator=(const AliRsnCutAOD2010& /*copy*/) {return (*this);}
+  
+    Bool_t                fIsMC;             // switch for MC analysis
+    Bool_t                fCheckITS;         // switch for ITS dE/dx check
+    Bool_t                fCheckTPC;         // switch for TPC dE/dx check
+    Bool_t                fCheckTOF;         // switch for TOF time check
+    Bool_t                fUseGlobal;        // switch to use TPC global tracks
+    Bool_t                fUseITSSA;         // switch to use ITS standalone tracks
+    
+    AliPID::EParticleType fPIDtype;          // particle type for which PID is checked   
+    
+    Int_t                 fTPCminNclusters;  // minimum number of clusters in TPC
+    Double_t              fTPCmaxChi2;       // maximum chi2 / number of clusters in TPC
+    Double_t              fTPCmaxNSigmaDCA;  // cut in DCA (transv) in numbers of sigma (pt-dependent)
+    Double_t              fTPCparamDCA[3];   // parameters to compute sigma for DCA
+    Double_t              fTPCparamBB[5];    // parameters for TPC Bethe-Bloch parameterization
+    Double_t              fTPClowBand;       // large band for low momentum PID
+    Double_t              fTPChighBand;      // large band for low momentum PID
+    Double_t              fTPClowLimit;      // limit of low momentum region
+    
+    Int_t                 fITSminNclusters;  // minimum number of clusters in TPC
+    Double_t              fITSmaxChi2;       // maximum chi2 / number of clusters in TPC
+    Double_t              fITSmaxNSigmaDCA;  // cut in DCA (transv) in numbers of sigma (pt-dependent)
+    Double_t              fITSparamDCA[3];   // parameters to compute sigma for DCA
+    Double_t              fITSparamBB[5];    // parameters for TPC Bethe-Bloch parameterization
+    Double_t              fITSband;          // fiducial region for selection of PID
+    
+    Double_t              fTOFlowLimit;      // low limit in asymmetric TOF PID cut
+    Double_t              fTOFhighLimit;     // low limit in asymmetric TOF PID cut
+    
+    AliAODpidUtil         fPID;              // PID utility
+
+    ClassDef(AliRsnCutAOD2010, 1)
+};
+
+#endif
index 7adfe357acccd4b9714855f768a6b5f433eb5c7d..c41847c21978e1dc5712a476f38018f44c6c1676 100644 (file)
@@ -61,53 +61,61 @@ Bool_t AliRsnCutPrimaryVertex::IsSelected(TObject *obj1, TObject* /*obj2*/)
   AliRsnEvent *rsn = dynamic_cast<AliRsnEvent*>(obj1);
   if (!rsn) return kFALSE;
   AliESDEvent *esd = dynamic_cast<AliESDEvent*>(rsn->GetRef());
-  if (!esd) 
-  {
-    AliDebug(AliLog::kDebug+2, "NO ESD");
-    return kFALSE;
-  }
-
-  // get the best primary vertex:
-  // first try the one with tracks
-  const AliESDVertex *vTrk  = esd->GetPrimaryVertexTracks();
-  const AliESDVertex *vSPD  = esd->GetPrimaryVertexSPD();
-  const AliESDVertex *vTPC  = esd->GetPrimaryVertexTPC();
-  Int_t               ncTrk = -1;
-  Int_t               ncSPD = -1;
-  Int_t               ncTPC = -1;
-  Double_t            vzTrk = 2.0 * fMaxD;
-  Double_t            vzSPD = 2.0 * fMaxD;
-  Double_t            vzTPC = 2.0 * fMaxD;
-  if (vTrk) vzTrk = TMath::Abs(vTrk->GetZv());
-  if (vSPD) vzSPD = TMath::Abs(vSPD->GetZv());
-  if (vTPC) vzTPC = TMath::Abs(vTPC->GetZv());
-  if (vTrk) ncTrk = (Int_t)vTrk->GetNContributors();
-  if (vSPD) ncSPD = (Int_t)vSPD->GetNContributors();
-  if (vTPC) ncTPC = (Int_t)vTPC->GetNContributors();
-  if(vTrk && ncTrk > 0)
-  {
-    fCutValueI = ncTrk;
-    fCutValueD = vzTrk;
-  }
-  else if (vSPD && ncSPD > 0)
+  AliAODEvent *aod = dynamic_cast<AliAODEvent*>(rsn->GetRef());
+  
+  if (esd)
   {
-    fCutValueI = ncSPD;
-    fCutValueD = vzSPD;
+    // get the best primary vertex:
+    // first try the one with tracks
+    const AliESDVertex *vTrk  = esd->GetPrimaryVertexTracks();
+    const AliESDVertex *vSPD  = esd->GetPrimaryVertexSPD();
+    const AliESDVertex *vTPC  = esd->GetPrimaryVertexTPC();
+    Int_t               ncTrk = -1;
+    Int_t               ncSPD = -1;
+    Int_t               ncTPC = -1;
+    Double_t            vzTrk = 2.0 * fMaxD;
+    Double_t            vzSPD = 2.0 * fMaxD;
+    Double_t            vzTPC = 2.0 * fMaxD;
+    if (vTrk) vzTrk = TMath::Abs(vTrk->GetZv());
+    if (vSPD) vzSPD = TMath::Abs(vSPD->GetZv());
+    if (vTPC) vzTPC = TMath::Abs(vTPC->GetZv());
+    if (vTrk) ncTrk = (Int_t)vTrk->GetNContributors();
+    if (vSPD) ncSPD = (Int_t)vSPD->GetNContributors();
+    if (vTPC) ncTPC = (Int_t)vTPC->GetNContributors();
+    if(vTrk && ncTrk > 0)
+    {
+      fCutValueI = ncTrk;
+      fCutValueD = vzTrk;
+    }
+    else if (vSPD && ncSPD > 0)
+    {
+      fCutValueI = ncSPD;
+      fCutValueD = vzSPD;
+    }
+    else if (vTPC && fAcceptTPC && ncTPC > 0)
+    {
+      fCutValueI = ncTPC;
+      fCutValueD = vzTPC;
+    }
+    else
+    {
+      fCutValueI = -1;
+      fCutValueD = 2.0 * fMaxD;
+    }
   }
-  else if (vTPC && fAcceptTPC && ncTPC > 0)
+  else if (aod)
   {
-    fCutValueI = ncTPC;
-    fCutValueD = vzTPC;
+    AliAODVertex *prim = aod->GetPrimaryVertex();
+    if (!prim || prim->GetNContributors() < 1) prim = aod->GetPrimaryVertexSPD();
+    if (!prim || prim->GetNContributors() < 1) return kFALSE;
+    fCutValueI = prim->GetNContributors();
+    fCutValueD = prim->GetZ();
   }
   else
-  {
-    fCutValueI = -1;
-    fCutValueD = 2.0 * fMaxD;
-  }
-  
+    return kFALSE;
+    
   // output
   Bool_t result = ((!OkRangeI()) && OkRangeD());
-  
   return result;
 }
 
index 36a733e125ad117d31dbfe697bb7efc97412de25..80567f643b72a737d63aad8b2f96d42200aca93d 100644 (file)
@@ -15,6 +15,7 @@ SRCS= RESONANCES/AliRsnDaughter.cxx \
       RESONANCES/AliRsnCutESDPrimary.cxx \
       RESONANCES/AliRsnCutDaughterType.cxx \
       RESONANCES/AliRsnCutESD2010.cxx \
+      RESONANCES/AliRsnCutAOD2010.cxx \
       RESONANCES/AliRsnCutSet.cxx \
       RESONANCES/AliRsnCutValue.cxx \
       RESONANCES/AliRsnCutManager.cxx \