1 /**************************************************************************
2 * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 /////////////////////////////////////////////////////////////
18 // Class for cuts on AOD reconstructed Ds->KKpi
20 // Author: A.Dainese, andrea.dainese@pd.infn.it
21 /////////////////////////////////////////////////////////////
23 #include <TDatabasePDG.h>
24 #include <Riostream.h>
26 #include "AliRDHFCutsDstoKKpi.h"
27 #include "AliAODRecoDecayHF3Prong.h"
28 #include "AliAODTrack.h"
29 #include "AliESDtrack.h"
31 ClassImp(AliRDHFCutsDstoKKpi)
33 //--------------------------------------------------------------------------
34 AliRDHFCutsDstoKKpi::AliRDHFCutsDstoKKpi() :
38 // Default Constructor
42 TString varNames[9]={"inv. mass [GeV]",
51 Bool_t isUpperCut[9]={kTRUE,
60 SetVarNames(nvars,varNames,isUpperCut);
61 Bool_t forOpt[9]={kFALSE,
70 SetVarsForOpt(4,forOpt);
71 Float_t limits[2]={0,999999999.};
74 //--------------------------------------------------------------------------
75 AliRDHFCutsDstoKKpi::AliRDHFCutsDstoKKpi(const AliRDHFCutsDstoKKpi &source) :
83 //--------------------------------------------------------------------------
84 AliRDHFCutsDstoKKpi &AliRDHFCutsDstoKKpi::operator=(const AliRDHFCutsDstoKKpi &source)
87 // assignment operator
89 if(&source == this) return *this;
91 AliRDHFCuts::operator=(source);
97 //---------------------------------------------------------------------------
98 void AliRDHFCutsDstoKKpi::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) {
100 // Fills in vars the values of the variables
103 if(nvars!=fnVarsForOpt) {
104 printf("AliRDHFCutsDstoKKpi::GetCutsVarsForOpt: wrong number of variables\n");
108 AliAODRecoDecayHF3Prong *dd = (AliAODRecoDecayHF3Prong*)d;
113 //---------------------------------------------------------------------------
114 Int_t AliRDHFCutsDstoKKpi::IsSelected(TObject* obj,Int_t selectionLevel) {
120 cout<<"Cut matrice not inizialized. Exit..."<<endl;
124 AliAODRecoDecayHF3Prong* d=(AliAODRecoDecayHF3Prong*)obj;
127 cout<<"AliAODRecoDecayHF3Prong null"<<endl;
132 // selection on daughter tracks
133 if(selectionLevel==AliRDHFCuts::kAll ||
134 selectionLevel==AliRDHFCuts::kTracks) {
135 if(!AreDaughtersSelected(d)) return 0;
141 // selection on candidate
142 if(selectionLevel==AliRDHFCuts::kAll ||
143 selectionLevel==AliRDHFCuts::kCandidate) {
151 //---------------------------------------------------------------------------