#include <TDatabasePDG.h>
#include <Riostream.h>
#include "AliRDHFCutsJpsitoee.h"
#include "AliAODRecoDecayHF2Prong.h"
#include "AliAODTrack.h"
#include "AliESDtrack.h"
using std::cout;
using std::endl;
ClassImp(AliRDHFCutsJpsitoee)
AliRDHFCutsJpsitoee::AliRDHFCutsJpsitoee(const char* name) :
AliRDHFCuts(name)
{
Int_t nvars=9;
SetNVars(nvars);
TString varNames[9]={"inv. mass [GeV]",
"dca [cm]",
"cosThetaStar",
"pTP [GeV/c]",
"pTN [GeV/c]",
"d0P [cm]",
"d0N [cm]",
"d0d0 [cm^2]",
"cosThetaPoint"};
Bool_t isUpperCut[9]={kTRUE,
kTRUE,
kTRUE,
kFALSE,
kFALSE,
kTRUE,
kTRUE,
kTRUE,
kFALSE};
SetVarNames(nvars,varNames,isUpperCut);
Bool_t forOpt[9]={kFALSE,
kTRUE,
kTRUE,
kFALSE,
kFALSE,
kFALSE,
kFALSE,
kTRUE,
kTRUE};
SetVarsForOpt(4,forOpt);
Float_t limits[2]={0,999999999.};
SetPtBins(2,limits);
}
AliRDHFCutsJpsitoee::AliRDHFCutsJpsitoee(const AliRDHFCutsJpsitoee &source) :
AliRDHFCuts(source)
{
}
AliRDHFCutsJpsitoee &AliRDHFCutsJpsitoee::operator=(const AliRDHFCutsJpsitoee &source)
{
if(&source == this) return *this;
AliRDHFCuts::operator=(source);
return *this;
}
void AliRDHFCutsJpsitoee::GetCutVarsForOpt(AliAODRecoDecayHF *d,Float_t *vars,Int_t nvars,Int_t *pdgdaughters) {
if(nvars!=fnVarsForOpt) {
printf("AliRDHFCutsJpsitoee::GetCutsVarsForOpt: wrong number of variables\n");
return;
}
AliAODRecoDecayHF2Prong *dd = (AliAODRecoDecayHF2Prong*)d;
Int_t iter=-1;
if(fVarsForOpt[0]){
iter++;
vars[iter]=dd->InvMassJPSIee();
}
if(fVarsForOpt[1]){
iter++;
vars[iter]=dd->GetDCA();
}
if(fVarsForOpt[2]){
iter++;
vars[iter] = dd->CosThetaStarJPSI();
}
if(fVarsForOpt[3]){
iter++;
if(pdgdaughters[0]==11) vars[iter]=dd->PtProng(0);
}
if(fVarsForOpt[4]){
iter++;
if(pdgdaughters[1]==11) vars[iter]=dd->PtProng(1);
}
if(fVarsForOpt[5]){
iter++;
vars[iter]=dd->Getd0Prong(0);
}
if(fVarsForOpt[6]){
iter++;
vars[iter]=dd->Getd0Prong(1);
}
if(fVarsForOpt[7]){
iter++;
vars[iter]= dd->Prodd0d0();
}
if(fVarsForOpt[8]){
iter++;
vars[iter]=dd->CosPointingAngle();
}
return;
}
Int_t AliRDHFCutsJpsitoee::IsSelected(TObject* obj,Int_t selectionLevel) {
if(!fCutsRD){
cout<<"Cut matrix not inizialized. Exit..."<<endl;
return 0;
}
AliAODRecoDecayHF2Prong* d=(AliAODRecoDecayHF2Prong*)obj;
if(!d){
cout<<"AliAODRecoDecayHF2Prong null"<<endl;
return 0;
}
if(fUseTrackSelectionWithFilterBits && d->HasBadDaughters()) return 0;
if(selectionLevel==AliRDHFCuts::kAll ||
selectionLevel==AliRDHFCuts::kTracks) {
if(!AreDaughtersSelected(d)) return 0;
}
if(selectionLevel==AliRDHFCuts::kAll ||
selectionLevel==AliRDHFCuts::kCandidate) {
Double_t pt=d->Pt();
Double_t mJPsi,ctsJPsi;
Double_t mJPSIPDG = TDatabasePDG::Instance()->GetParticle(443)->Mass();
Int_t ptbin=PtBin(pt);
if(d->PtProng(1) < fCutsRD[GetGlobalIndex(3,ptbin)] || d->PtProng(0) < fCutsRD[GetGlobalIndex(4,ptbin)]) return 0;
if(TMath::Abs(d->Getd0Prong(1)) > fCutsRD[GetGlobalIndex(5,ptbin)] ||
TMath::Abs(d->Getd0Prong(0)) > fCutsRD[GetGlobalIndex(6,ptbin)]) return 0;
if(d->GetDCA() > fCutsRD[GetGlobalIndex(1,ptbin)]) return 0;
mJPsi=d->InvMassJPSIee();
if(TMath::Abs(mJPsi-mJPSIPDG) > fCutsRD[GetGlobalIndex(0,ptbin)]) return 0;
ctsJPsi=d->CosThetaStarJPSI();
if(TMath::Abs(ctsJPsi) > fCutsRD[GetGlobalIndex(2,ptbin)]) return 0;
if(d->Prodd0d0() > fCutsRD[GetGlobalIndex(7,ptbin)]) return 0;
if(d->CosPointingAngle() < fCutsRD[GetGlobalIndex(8,ptbin)]) return 0;
}
return 1;
}
AliRDHFCutsJpsitoee.cxx:1 AliRDHFCutsJpsitoee.cxx:2 AliRDHFCutsJpsitoee.cxx:3 AliRDHFCutsJpsitoee.cxx:4 AliRDHFCutsJpsitoee.cxx:5 AliRDHFCutsJpsitoee.cxx:6 AliRDHFCutsJpsitoee.cxx:7 AliRDHFCutsJpsitoee.cxx:8 AliRDHFCutsJpsitoee.cxx:9 AliRDHFCutsJpsitoee.cxx:10 AliRDHFCutsJpsitoee.cxx:11 AliRDHFCutsJpsitoee.cxx:12 AliRDHFCutsJpsitoee.cxx:13 AliRDHFCutsJpsitoee.cxx:14 AliRDHFCutsJpsitoee.cxx:15 AliRDHFCutsJpsitoee.cxx:16 AliRDHFCutsJpsitoee.cxx:17 AliRDHFCutsJpsitoee.cxx:18 AliRDHFCutsJpsitoee.cxx:19 AliRDHFCutsJpsitoee.cxx:20 AliRDHFCutsJpsitoee.cxx:21 AliRDHFCutsJpsitoee.cxx:22 AliRDHFCutsJpsitoee.cxx:23 AliRDHFCutsJpsitoee.cxx:24 AliRDHFCutsJpsitoee.cxx:25 AliRDHFCutsJpsitoee.cxx:26 AliRDHFCutsJpsitoee.cxx:27 AliRDHFCutsJpsitoee.cxx:28 AliRDHFCutsJpsitoee.cxx:29 AliRDHFCutsJpsitoee.cxx:30 AliRDHFCutsJpsitoee.cxx:31 AliRDHFCutsJpsitoee.cxx:32 AliRDHFCutsJpsitoee.cxx:33 AliRDHFCutsJpsitoee.cxx:34 AliRDHFCutsJpsitoee.cxx:35 AliRDHFCutsJpsitoee.cxx:36 AliRDHFCutsJpsitoee.cxx:37 AliRDHFCutsJpsitoee.cxx:38 AliRDHFCutsJpsitoee.cxx:39 AliRDHFCutsJpsitoee.cxx:40 AliRDHFCutsJpsitoee.cxx:41 AliRDHFCutsJpsitoee.cxx:42 AliRDHFCutsJpsitoee.cxx:43 AliRDHFCutsJpsitoee.cxx:44 AliRDHFCutsJpsitoee.cxx:45 AliRDHFCutsJpsitoee.cxx:46 AliRDHFCutsJpsitoee.cxx:47 AliRDHFCutsJpsitoee.cxx:48 AliRDHFCutsJpsitoee.cxx:49 AliRDHFCutsJpsitoee.cxx:50 AliRDHFCutsJpsitoee.cxx:51 AliRDHFCutsJpsitoee.cxx:52 AliRDHFCutsJpsitoee.cxx:53 AliRDHFCutsJpsitoee.cxx:54 AliRDHFCutsJpsitoee.cxx:55 AliRDHFCutsJpsitoee.cxx:56 AliRDHFCutsJpsitoee.cxx:57 AliRDHFCutsJpsitoee.cxx:58 AliRDHFCutsJpsitoee.cxx:59 AliRDHFCutsJpsitoee.cxx:60 AliRDHFCutsJpsitoee.cxx:61 AliRDHFCutsJpsitoee.cxx:62 AliRDHFCutsJpsitoee.cxx:63 AliRDHFCutsJpsitoee.cxx:64 AliRDHFCutsJpsitoee.cxx:65 AliRDHFCutsJpsitoee.cxx:66 AliRDHFCutsJpsitoee.cxx:67 AliRDHFCutsJpsitoee.cxx:68 AliRDHFCutsJpsitoee.cxx:69 AliRDHFCutsJpsitoee.cxx:70 AliRDHFCutsJpsitoee.cxx:71 AliRDHFCutsJpsitoee.cxx:72 AliRDHFCutsJpsitoee.cxx:73 AliRDHFCutsJpsitoee.cxx:74 AliRDHFCutsJpsitoee.cxx:75 AliRDHFCutsJpsitoee.cxx:76 AliRDHFCutsJpsitoee.cxx:77 AliRDHFCutsJpsitoee.cxx:78 AliRDHFCutsJpsitoee.cxx:79 AliRDHFCutsJpsitoee.cxx:80 AliRDHFCutsJpsitoee.cxx:81 AliRDHFCutsJpsitoee.cxx:82 AliRDHFCutsJpsitoee.cxx:83 AliRDHFCutsJpsitoee.cxx:84 AliRDHFCutsJpsitoee.cxx:85 AliRDHFCutsJpsitoee.cxx:86 AliRDHFCutsJpsitoee.cxx:87 AliRDHFCutsJpsitoee.cxx:88 AliRDHFCutsJpsitoee.cxx:89 AliRDHFCutsJpsitoee.cxx:90 AliRDHFCutsJpsitoee.cxx:91 AliRDHFCutsJpsitoee.cxx:92 AliRDHFCutsJpsitoee.cxx:93 AliRDHFCutsJpsitoee.cxx:94 AliRDHFCutsJpsitoee.cxx:95 AliRDHFCutsJpsitoee.cxx:96 AliRDHFCutsJpsitoee.cxx:97 AliRDHFCutsJpsitoee.cxx:98 AliRDHFCutsJpsitoee.cxx:99 AliRDHFCutsJpsitoee.cxx:100 AliRDHFCutsJpsitoee.cxx:101 AliRDHFCutsJpsitoee.cxx:102 AliRDHFCutsJpsitoee.cxx:103 AliRDHFCutsJpsitoee.cxx:104 AliRDHFCutsJpsitoee.cxx:105 AliRDHFCutsJpsitoee.cxx:106 AliRDHFCutsJpsitoee.cxx:107 AliRDHFCutsJpsitoee.cxx:108 AliRDHFCutsJpsitoee.cxx:109 AliRDHFCutsJpsitoee.cxx:110 AliRDHFCutsJpsitoee.cxx:111 AliRDHFCutsJpsitoee.cxx:112 AliRDHFCutsJpsitoee.cxx:113 AliRDHFCutsJpsitoee.cxx:114 AliRDHFCutsJpsitoee.cxx:115 AliRDHFCutsJpsitoee.cxx:116 AliRDHFCutsJpsitoee.cxx:117 AliRDHFCutsJpsitoee.cxx:118 AliRDHFCutsJpsitoee.cxx:119 AliRDHFCutsJpsitoee.cxx:120 AliRDHFCutsJpsitoee.cxx:121 AliRDHFCutsJpsitoee.cxx:122 AliRDHFCutsJpsitoee.cxx:123 AliRDHFCutsJpsitoee.cxx:124 AliRDHFCutsJpsitoee.cxx:125 AliRDHFCutsJpsitoee.cxx:126 AliRDHFCutsJpsitoee.cxx:127 AliRDHFCutsJpsitoee.cxx:128 AliRDHFCutsJpsitoee.cxx:129 AliRDHFCutsJpsitoee.cxx:130 AliRDHFCutsJpsitoee.cxx:131 AliRDHFCutsJpsitoee.cxx:132 AliRDHFCutsJpsitoee.cxx:133 AliRDHFCutsJpsitoee.cxx:134 AliRDHFCutsJpsitoee.cxx:135 AliRDHFCutsJpsitoee.cxx:136 AliRDHFCutsJpsitoee.cxx:137 AliRDHFCutsJpsitoee.cxx:138 AliRDHFCutsJpsitoee.cxx:139 AliRDHFCutsJpsitoee.cxx:140 AliRDHFCutsJpsitoee.cxx:141 AliRDHFCutsJpsitoee.cxx:142 AliRDHFCutsJpsitoee.cxx:143 AliRDHFCutsJpsitoee.cxx:144 AliRDHFCutsJpsitoee.cxx:145 AliRDHFCutsJpsitoee.cxx:146 AliRDHFCutsJpsitoee.cxx:147 AliRDHFCutsJpsitoee.cxx:148 AliRDHFCutsJpsitoee.cxx:149 AliRDHFCutsJpsitoee.cxx:150 AliRDHFCutsJpsitoee.cxx:151 AliRDHFCutsJpsitoee.cxx:152 AliRDHFCutsJpsitoee.cxx:153 AliRDHFCutsJpsitoee.cxx:154 AliRDHFCutsJpsitoee.cxx:155 AliRDHFCutsJpsitoee.cxx:156 AliRDHFCutsJpsitoee.cxx:157 AliRDHFCutsJpsitoee.cxx:158 AliRDHFCutsJpsitoee.cxx:159 AliRDHFCutsJpsitoee.cxx:160 AliRDHFCutsJpsitoee.cxx:161 AliRDHFCutsJpsitoee.cxx:162 AliRDHFCutsJpsitoee.cxx:163 AliRDHFCutsJpsitoee.cxx:164 AliRDHFCutsJpsitoee.cxx:165 AliRDHFCutsJpsitoee.cxx:166 AliRDHFCutsJpsitoee.cxx:167 AliRDHFCutsJpsitoee.cxx:168 AliRDHFCutsJpsitoee.cxx:169 AliRDHFCutsJpsitoee.cxx:170 AliRDHFCutsJpsitoee.cxx:171 AliRDHFCutsJpsitoee.cxx:172 AliRDHFCutsJpsitoee.cxx:173 AliRDHFCutsJpsitoee.cxx:174 AliRDHFCutsJpsitoee.cxx:175 AliRDHFCutsJpsitoee.cxx:176 AliRDHFCutsJpsitoee.cxx:177 AliRDHFCutsJpsitoee.cxx:178 AliRDHFCutsJpsitoee.cxx:179 AliRDHFCutsJpsitoee.cxx:180 AliRDHFCutsJpsitoee.cxx:181 AliRDHFCutsJpsitoee.cxx:182 AliRDHFCutsJpsitoee.cxx:183 AliRDHFCutsJpsitoee.cxx:184 AliRDHFCutsJpsitoee.cxx:185 AliRDHFCutsJpsitoee.cxx:186 AliRDHFCutsJpsitoee.cxx:187 AliRDHFCutsJpsitoee.cxx:188 AliRDHFCutsJpsitoee.cxx:189 AliRDHFCutsJpsitoee.cxx:190 AliRDHFCutsJpsitoee.cxx:191 AliRDHFCutsJpsitoee.cxx:192 AliRDHFCutsJpsitoee.cxx:193 AliRDHFCutsJpsitoee.cxx:194 AliRDHFCutsJpsitoee.cxx:195 AliRDHFCutsJpsitoee.cxx:196 AliRDHFCutsJpsitoee.cxx:197 AliRDHFCutsJpsitoee.cxx:198 AliRDHFCutsJpsitoee.cxx:199 AliRDHFCutsJpsitoee.cxx:200 AliRDHFCutsJpsitoee.cxx:201 AliRDHFCutsJpsitoee.cxx:202 AliRDHFCutsJpsitoee.cxx:203 AliRDHFCutsJpsitoee.cxx:204 AliRDHFCutsJpsitoee.cxx:205 AliRDHFCutsJpsitoee.cxx:206 AliRDHFCutsJpsitoee.cxx:207 AliRDHFCutsJpsitoee.cxx:208 AliRDHFCutsJpsitoee.cxx:209 AliRDHFCutsJpsitoee.cxx:210 AliRDHFCutsJpsitoee.cxx:211 AliRDHFCutsJpsitoee.cxx:212 AliRDHFCutsJpsitoee.cxx:213 AliRDHFCutsJpsitoee.cxx:214 AliRDHFCutsJpsitoee.cxx:215