fVemtmp(0x0),
fVeptmp(0x0),
fdconvphiv(acos(-1.0)),
+ fdconvMee(100),
fdop(0),
fbz(0),
- fdv0mixing(kTRUE)
+ fdv0mixing(kTRUE),
+ fBGRejUnlike(kFALSE),
+ fBGRejLike(kTRUE)
{
//
// Constructor
fVemtmp(0x0),
fVeptmp(0x0),
fdconvphiv(acos(-1.0)),
+ fdconvMee(100),
fdop(0),
fbz(0),
- fdv0mixing(kTRUE)
+ fdv0mixing(kTRUE),
+ fBGRejUnlike(kFALSE),
+ fBGRejLike(kTRUE)
{
//
// Constructor
for(int i1=0; i1<(int)e1.size(); i1++){
reject = false;
for(int i2=i1+1; i2<(int)e1.size(); i2++){
- if( fabs(e1[i1]->Phi() - e1[i2]->Phi())<0.01 ){
+ if( fabs(e1[i1]->Phi() - e1[i2]->Phi())<0.01 &&
+ fabs(e1[i1]->Eta() - e1[i2]->Eta())<0.005
+ ){
reject = true;
e1[i2]->SetGstFlag(0);
}
}
}
+//_________________________________________________________________________________
+Bool_t AliAnalysisTaskMultiDielectronTG::CheckGhost(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2)
+{
+ ////// To be sure whether there are no ghost pairs in h event mixing
+
+ if(e1.size()>0 && e2.size()>0){
+ for(int i1=0; i1<(int)e1.size(); i1++){
+ for(int i2=0; i2<(int)e2.size(); i2++){
+ if( fabs(e1[i1]->Phi() - e2[i2]->Phi())<0.01 &&
+ fabs(e1[i1]->Eta() - e2[i2]->Eta())<0.005
+ ){
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
+
//_________________________________________________________________________________
void AliAnalysisTaskMultiDielectronTG::RandomizePool(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2)
{
nmixed = 0;
for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
int ntry = 0;
- while(ntry<fgkMAXTRY) {
+ while((fBGRejUnlike && CheckGhost(ve1, fvem[ibuf][idie][izbin][icent][irp])) && ntry<fgkMAXTRY) {
ReshuffleBuffer(fvem[ibuf][idie][izbin][icent][irp],fpoolm[idie][izbin][icent][irp]);
ntry++;
}
nmixed = 0;
for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
int ntry = 0;
- while(ntry<fgkMAXTRY) {
+ while((fBGRejUnlike && CheckGhost(ve2, fvep[ibuf][idie][izbin][icent][irp])) && ntry<fgkMAXTRY) {
ReshuffleBuffer(fvep[ibuf][idie][izbin][icent][irp],fpoolp[idie][izbin][icent][irp]);
ntry++;
}
nmixed = 0;
for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
int ntry = 0;
- while(ntry<fgkMAXTRY) {
+ while((fBGRejLike && CheckGhost(ve1, fvep[ibuf][idie][izbin][icent][irp])) && ntry<fgkMAXTRY) {
ReshuffleBuffer(fvep[ibuf][idie][izbin][icent][irp],fpoolp[idie][izbin][icent][irp]);
ntry++;
}
nmixed = 0;
for(int ibuf=0;(nmixed<fgkNMix);ibuf++) {
int ntry = 0;
- while(ntry<fgkMAXTRY) {
+ while((fBGRejLike && CheckGhost(ve2, fvem[ibuf][idie][izbin][icent][irp])) && ntry<fgkMAXTRY) {
ReshuffleBuffer(fvem[ibuf][idie][izbin][icent][irp],fpoolm[idie][izbin][icent][irp]);
ntry++;
}
Bool_t pairClass1=fHistos->GetHistogramList()->FindObject(className1.Data())!=0x0;
Bool_t pairClass2=fHistos->GetHistogramList()->FindObject(className2.Data())!=0x0;
- if (pairClass1 && PairTrackcut(dphiv, dcos, idie)==true){
+ if (pairClass1 && PairTrackcut(dphiv, dcos, dmass, idie)==true){
///import pair variables to values!!
values[AliDielectronVarManager::kPx] = dpxpair;
values[AliDielectronVarManager::kPy] = dpypair;
values[AliDielectronVarManager::kPhivPair] = dphiv;
values[AliDielectronVarManager::kPhi] = dphipair;
values[AliDielectronVarManager::kOpeningAngle] = dcos;
+ values[AliDielectronVarManager::kCosPointingAngle] = TMath::Abs(TMath::ATan2(TMath::Sin(iep->Phi()-iem->Phi()),TMath::Cos(iep->Phi()-iem->Phi())));
fHistos->FillClass(className1, AliDielectronVarManager::kNMaxValues, values);
}
- if (pairClass2 && PairTrackcut(dphiv, dopeningangle, idie)==true){
+ if (pairClass2 && PairTrackcut(dphiv, dopeningangle, dv0mass, idie)==true){
values[AliDielectronVarManager::kPx] = dv0pxpair;
values[AliDielectronVarManager::kPy] = dv0pypair;
values[AliDielectronVarManager::kPz] = dv0pzpair;
values[AliDielectronVarManager::kPhivPair] = dphivpair;
values[AliDielectronVarManager::kPhi] = dv0phipair;
values[AliDielectronVarManager::kOpeningAngle] = dopeningangle;
+ values[AliDielectronVarManager::kCosPointingAngle] = TMath::Abs(TMath::ATan2(TMath::Sin(iep->Phi()-iem->Phi()),TMath::Cos(iep->Phi()-iem->Phi())));
fHistos->FillClass(className2, AliDielectronVarManager::kNMaxValues, values);
}
}
//_________________________________________________________________________________
-bool AliAnalysisTaskMultiDielectronTG::PairTrackcut(double phiv, double op, int idie)
+bool AliAnalysisTaskMultiDielectronTG::PairTrackcut(double phiv, double op, double mass, int idie)
{
//
if(fRejectPairFlag[idie] == 1 || fRejectPairFlag[idie] == 2 ||
fRejectPairFlag[idie] == 3 || fRejectPairFlag[idie] == 4 ){
if(fRejectPairFlag[idie] == 2 || fRejectPairFlag[idie] == 4 ){
- if(fbz>0 && phiv>fdconvphiv){
+ if(fbz>0 && (phiv>fdconvphiv && mass < fdconvMee) ){
pairOK = false;
- }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+ }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mass < fdconvMee){
pairOK = false;
}
}else if(fRejectPairFlag[idie] == 1 || fRejectPairFlag[idie] == 3){
}
}else if(fRejectPairFlag[idie]==2){
Double_t phiv = GetPhiv(e1[i1], e2[i2]);
- if(fbz>0 && phiv>fdconvphiv){
+ Double_t mee = GetMass(e1[i1], e2[i2]);
+ if(fbz>0 && ( phiv>fdconvphiv && mee < fdconvMee) ){
e1[i1]->SetConvFlag(0);
e2[i2]->SetConvFlag(0);
- }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+ }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
e1[i1]->SetConvFlag(0);
e2[i2]->SetConvFlag(0);
}
}
}
}
-
if(e1.size()>0){
for(int i1=0; i1<(int)e1.size(); i1++){
for(int i2=i1+1; i2<(int)e1.size(); i2++){
}
}else if(fRejectPairFlag[idie]==2){
Double_t phiv = GetPhiv(e1[i1], e1[i2]);
- if(fbz>0 && phiv>fdconvphiv){
+ Double_t mee = GetMass(e1[i1], e1[i2]);
+ if(fbz>0 && phiv>fdconvphiv && mee < fdconvMee){
e1[i1]->SetConvFlag(0);
e1[i2]->SetConvFlag(0);
- }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+ }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
e1[i1]->SetConvFlag(0);
e1[i2]->SetConvFlag(0);
}
}
}else if(fRejectPairFlag[idie]==2){
Double_t phiv = GetPhiv(e2[i1], e2[i2]);
- if(fbz>0 && phiv>fdconvphiv){
+ Double_t mee = GetMass(e2[i1], e2[i2]);
+ if(fbz>0 && phiv>fdconvphiv && mee < fdconvMee){
e2[i1]->SetConvFlag(0);
e2[i2]->SetConvFlag(0);
- }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv){
+ }else if(fbz<0 && phiv<acos(-1.0)-fdconvphiv && mee < fdconvMee){
e2[i1]->SetConvFlag(0);
e2[i2]->SetConvFlag(0);
}
Double_t AliAnalysisTaskMultiDielectronTG::GetPhiv(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2){
//////////////////////
- //////// calculate pairs and get opening angle
+ //////// calculate pairs and get phiv
//////////////////////
double dmass, dphiv, dpxpair, dpypair, dpzpair;
return dphiv;
}
+
+//_________________________________________________________________________________
+Double_t AliAnalysisTaskMultiDielectronTG::GetMass(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2){
+
+ //////////////////////
+ //////// calculate pairs and get mass
+ //////////////////////
+
+ double dmass, dphiv, dpxpair, dpypair, dpzpair;
+ double dptpair, depair, dphipair, detapair, dcos, dpsi;
+
+ CalcVars(e1, e2, dmass, dphiv, dpxpair, dpypair, dpzpair,
+ dptpair, depair, dphipair, detapair, dcos, dpsi);
+
+ return dmass;
+}
void SetTrack(AliVTrack * const trk) { fObj = trk;}
virtual Int_t Charge(void) const { return fCharge;}
Double_t Phi(void) const { return fPhi;}
+ Double_t Eta(void) const { return fEta;}
Double_t Theta(void) const { return fTheta;}
Double_t Px(void) const { return fPx;}
Double_t Py(void) const { return fPy;}
void RejectOP(double val){fdop = val;} ///To reject conversions
- void RejectConversion(double val){fdconvphiv = val;} ///To reject conversions
+ void RejectConversion(double val, double mass){fdconvphiv = val; fdconvMee = mass;} ///To reject conversions
void EnableV0mixing(Bool_t val){fdv0mixing = val;} ///Enable V0 mixing
void CheckGhostPairs(vector<AliDielectronSingleTG*> e1); ///identify ghost pairs in like sign pais
+ Bool_t CheckGhost(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2); ///check ghost pairs for like sign and mixed like-sign pais
void RejectPairs(vector<AliDielectronSingleTG*> e1, vector<AliDielectronSingleTG*> e2, Int_t idie); ///identify conversions for the rejection
void FillPair(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2, int type, AliDielectron *die, Int_t idie); /// Fill Pairs
- bool PairTrackcut(double var1, double var2, int idie); /// Pair cuts
+ bool PairTrackcut(double var1, double var2, double var3, int idie); /// Pair cuts
void CalcVars(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2,
double &mass, double &phiv, double &px, double &py, double&pz,
double &pt, double &e, double &phi, double &eta, double &cos, double &psi); /// Calcualate kinematic variables
Double_t GetPhiv(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate phiv
Double_t GetOpeningAngle(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate opening angle
+ Double_t GetMass(AliDielectronSingleTG* e1, AliDielectronSingleTG* e2); /// calculate Mass
+ void SetRejBGPairs(bool Val1, bool Val2){ fBGRejUnlike = Val1 ; fBGRejLike = Val2 ; } /// SetFlag to Enable Rejection of ghost BG pairs
void SetPairCuts(Int_t Types[20]){
for(int i=0;i<20;i++){
fRejectPairFlag[i] = Types[i];
}
}
-
protected:
enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent};
TList fListDielectron; // List of dielectron framework instances
std::vector<AliDielectronSingleTG*> fVemtmp; /// template for electron lists
std::vector<AliDielectronSingleTG*> fVeptmp; /// template for positron lists
Double_t fdconvphiv; /// PhiCut
+ Double_t fdconvMee; /// MassCut
Double_t fdop; /// Opening angle Cut
Double_t fbz; /// Magnetic field
Bool_t fdv0mixing; /// Mixing using V0
-
+ Bool_t fBGRejUnlike; //// Ghost rejection flag for event mixing (unlike pairs)
+ Bool_t fBGRejLike; //// Ghost rejection flag for event mixing (like pairs)
//Buffer for event mixing
static const int fgkNBUF=100; //depth of buffer
hasMC=kTRUE;
}
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
- gROOT->LoadMacro(configLMEECutLibPath.Data());
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+ if(!gROOT->GetClass("LMEECutLibTaku")){
+ gROOT->LoadMacro(configLMEECutLibPath.Data());
+ }
+ }
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
gROOT->LoadMacro(configFilePath.Data());
-
- LMEECutLib* cutlib = new LMEECutLib();
+ }
+ LMEECutLibTaku* cutlib = new LMEECutLibTaku();
cutlib->SetMCFlag(hasMC);
- AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataCent");
+ AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataCent");
////default cutter defined in ConfigTakuLMEEPbPb2011.C
Int_t PairCutTypeDef[20]={0,
task->UsePhysicsSelection();
}
task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
- task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
- task->RejectConversion(2.0);
+ task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+ task->RejectConversion(2.0, 0.3);
task->RejectOP(0.035);
task->SetPairCuts(PairCutType);
task->EnableV0mixing(kFALSE);
hasMC=kTRUE;
}
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
- gROOT->LoadMacro(configLMEECutLibPath.Data());
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+ if(!gROOT->GetClass("LMEECutLibTaku")){
+ gROOT->LoadMacro(configLMEECutLibPath.Data(), 0, kTRUE);
+ }
+ }
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
gROOT->LoadMacro(configFilePath.Data());
+ }
- LMEECutLib* cutlib = new LMEECutLib();
+ LMEECutLibTaku* cutlib = new LMEECutLibTaku();
cutlib->SetMCFlag(hasMC);
- AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataSemiCent1");
+ AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataSemiCent1");
////default cutter defined in ConfigTakuLMEEPbPb2011.C
Int_t PairCutTypeDef[20]={0,
task->UsePhysicsSelection();
}
task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
- task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
- task->RejectConversion(2.0);
+ task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+ task->RejectConversion(2.0, 0.3);
task->RejectOP(0.035);
task->SetPairCuts(PairCutType);
task->EnableV0mixing(kFALSE);
hasMC=kTRUE;
}
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data()))
- gROOT->LoadMacro(configLMEECutLibPath.Data());
- if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data()))
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configLMEECutLib.Data())){
+ if(!gROOT->GetClass("LMEECutLibTaku")){
+ gROOT->LoadMacro(configLMEECutLibPath.Data());
+ }
+ }
+ if (!gROOT->GetListOfGlobalFunctions()->FindObject(configFile.Data())){
gROOT->LoadMacro(configFilePath.Data());
-
- LMEECutLib* cutlib = new LMEECutLib();
+ }
+ LMEECutLibTaku* cutlib = new LMEECutLibTaku();
cutlib->SetMCFlag(hasMC);
- AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiEDataSemiCent2");
+ AliAnalysisTaskMultiDielectronTG *task=new AliAnalysisTaskMultiDielectronTG("MultiDiETGDataSemiCent2");
////default cutter defined in ConfigTakuLMEEPbPb2011.C
Int_t PairCutTypeDef[20]={0,
task->UsePhysicsSelection();
}
task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
- task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
- task->RejectConversion(2.0);
+ task->SetEventFilter(cutlib->GetEventCuts(LMEECutLibTaku::kPbPb2011TPCandTOF)); //
+ task->RejectConversion(2.0, 0.3);
task->RejectOP(0.035);
task->SetPairCuts(PairCutType);
task->EnableV0mixing(kFALSE);
//////////////////////////////////////////////////////////
-
-
-
-
-
TString names=("noPairing;TPCTOFCentnoPair;TPCTOFSemiCent1noPair;TPCTOFSemiCent2noPair;TPCTOFCentOpPair;TPCTOFSemiCent1OpPair;TPCTOFSemiCent2OpPair;TPCTOFCentPvPair;TPCTOFSemiCent1PvPair;TPCTOFSemiCent2PvPair;TPCTOFCentOpPair2;TPCTOFSemiCent1OpPair2;TPCTOFSemiCent2OpPair2;TPCTOFCentPvPair2;TPCTOFSemiCent1PvPair2;TPCTOFSemiCent2PvPair2");
TObjArray *arrNames=names.Tokenize(";");
Int_t selectedPairCut=-1;
Bool_t rejectionStep=kFALSE;
Bool_t HasPairCut = kFALSE;
- LMEECutLib* LMCL = new LMEECutLib();
+ LMEECutLibTaku* LMCL = new LMEECutLibTaku();
//
// Setup the instance of AliDielectron
}
//////////////////////////////////////////////
else if (cutDefinition==1) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011Central;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
rejectionStep = kFALSE;
HasPairCut = kFALSE;
}
else if (cutDefinition==2) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
rejectionStep = kFALSE;
HasPairCut = kFALSE;
}
else if (cutDefinition==3) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
rejectionStep = kFALSE;
HasPairCut = kFALSE;
}
//////////////////////////////////////////////
else if (cutDefinition==4) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011Central;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
else if (cutDefinition==5) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
else if (cutDefinition==6) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
//////////////////////////////////////////////
else if (cutDefinition==7) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011Central;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
else if (cutDefinition==8) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
else if (cutDefinition==9) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kTRUE;
HasPairCut = kTRUE;
}
//////////////////////////////////////////////
else if (cutDefinition==10) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011Central;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
else if (cutDefinition==11) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
else if (cutDefinition==12) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
- selectedPairCut = LMEECutLib::kPbPb2011OP;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011OP;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
//////////////////////////////////////////////
else if (cutDefinition==13) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011Central;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011Central;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
else if (cutDefinition==14) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral1;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral1;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
else if (cutDefinition==15) {
- selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide;
- selectedCentrality = LMEECutLib::kPbPb2011SemiCentral2;
- selectedPairCut = LMEECutLib::kPbPb2011Phiv;
+ selectedPID = LMEECutLibTaku::kPbPb2011TPCandTOFwide;
+ selectedCentrality = LMEECutLibTaku::kPbPb2011SemiCentral2;
+ selectedPairCut = LMEECutLibTaku::kPbPb2011Phiv;
rejectionStep = kFALSE;
HasPairCut = kTRUE;
}
-class LMEECutLib {
+class LMEECutLibTaku {
public:
static enum LMMECutSet {
break;
case kPbPb2011Phiv:
pairCuts =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
- pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 2.0, TMath::ACos(-1.0), kTRUE); //exclude
- pairCuts->AddCut(AliDielectronVarManager::kM, 0, 0.15,kTRUE); ///exclude
+ pairCuts->SetCutType(AliDielectronVarCuts::kAny);
+ pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0);
+ pairCuts->AddCut(AliDielectronVarManager::kM, 0.15, 100.0);
break;
default: cout << "No Pair Cuts defined " << endl;
}