From bad904843b483bc61c39df110030784c7aa1f4ff Mon Sep 17 00:00:00 2001 From: cbaumann Date: Mon, 22 Apr 2013 13:37:51 +0000 Subject: [PATCH] name swtiching --- .../AddTask_cbaumann_LMEEPbPb2011AOD.C | 12 +-- .../macrosLMEE/ConfigLMEEPbPb2011AOD.C | 48 +++++++--- PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C | 90 +++++++++++++++---- 3 files changed, 113 insertions(+), 37 deletions(-) diff --git a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C index 88117928e68..20d16d5fc91 100644 --- a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C +++ b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C @@ -70,9 +70,9 @@ AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AOD(Char_t* outputFileName="LMEEou if (rejOnly) { - AliDielectron *lowmass8=ConfigLMEEPbPb2011AOD(8,hasMC,bESDANA); - task->AddDielectron(lowmass8); - printf("add: %s\n",lowmass8->GetName()); + AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA); + task->AddDielectron(lowmass7); + printf("add: %s\n",lowmass7->GetName()); } else { @@ -85,9 +85,9 @@ else { printf("add: %s\n",lowmass1->GetName()); if (PIDbaseline) { - AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA); - task->AddDielectron(lowmass7); - printf("add: %s\n",lowmass7->GetName()); + AliDielectron *lowmass8=ConfigLMEEPbPb2011AOD(8,hasMC,bESDANA); + task->AddDielectron(lowmass8); + printf("add: %s\n",lowmass8->GetName()); } } diff --git a/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C b/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C index d95a8926de1..0ce0c78e4ae 100644 --- a/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C +++ b/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C @@ -4,7 +4,7 @@ void InitHistograms(AliDielectron *die, Int_t cutDefinition); void InitCF(AliDielectron* die, Int_t cutDefinition); void EnableMC(); -TString names=("noPairing;TPCTOFCentHPT;TPCTOFSemiCentHPT;TPCTOFPerinoRej;TPCTOFCent;TPCTOFSemiCent;TPCTOFCentnoTOF;NoPIDNoPairing;TPCTOFCentRej"); +TString names=("noPairing;TPCTOFCentHPT;TPCTOFSemiCentHPT;TPCTOFPerinoRej;TPCTOFCentRej;TPCTOFSemiCent;TPCTOFCentBothSPD;TPCTOFCentITSRejAlt;TPCTOFCentITSRej"); TObjArray *arrNames=names.Tokenize(";"); const Int_t nDie=arrNames->GetEntries(); @@ -44,7 +44,7 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B //not yet implemented } else if (cutDefinition==1) { - selectedPID = LMEECutLib::kPbPb2011TPCandTOFHPT; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; selectedCentrality = LMEECutLib::kPbPb2011Central; rejectionStep = kFALSE; } @@ -61,7 +61,7 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B else if (cutDefinition==4) { selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; selectedCentrality = LMEECutLib::kPbPb2011Central; - rejectionStep = kFALSE; + rejectionStep = kTRUE; } else if (cutDefinition==5) { selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; @@ -69,18 +69,18 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B rejectionStep = kTRUE; } else if (cutDefinition==6) { - //selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; - selectedPID = LMEECutLib::kPbPb2011TPC; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; + //selectedPID = LMEECutLib::kPbPb2011TPC; selectedCentrality = LMEECutLib::kPbPb2011Central; rejectionStep = kFALSE; } else if (cutDefinition==7) { - selectedPID = LMEECutLib::kPbPb2011NoPID; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFHPT; selectedCentrality = LMEECutLib::kPbPb2011Central; - rejectionStep = kFALSE; + rejectionStep = kTRUE; } else if (cutDefinition==8) { - selectedPID = LMEECutLib::kPbPb2011TPCandTOFwide; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFHPT; selectedCentrality = LMEECutLib::kPbPb2011Central; rejectionStep = kTRUE; } @@ -104,15 +104,31 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B } if (rejectionStep) { - if (ESDanalysis) { +/* if (ESDanalysis) { die->GetTrackFilter().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) ); die->GetPairPreFilterLegs().AddCuts( LMCL->GetESDTrackCutsAna(selectedPID) ); } + */ //die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsPre(selectedPID) ); - die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsAna(selectedPID) ); - die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) ); - die->GetPairPreFilter().AddCuts(LMCL->GetPairCuts(selectedPID) ); + + + if ((cutDefinition == 7)||(cutDefinition == 8)) { + //track cuts done for PRE in the PID method + // die->GetTrackFilter().AddCuts(LMCL->GetTrackCutsPre(selectedPID) ); + die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsPre(selectedPID) ); + } + else if (cutDefinition == 4){ + die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsPre(LMEECutLib::kPbPb2011TPCorTOF) ); + } + else { + die->GetTrackFilter().AddCuts(LMCL->GetTrackCutsAna(selectedPID) ); + die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsAna(selectedPID) ); + } + die->GetPairPreFilter().AddCuts(LMCL->GetPairCuts(selectedPID) ); + + die->GetPairPreFilterLegs().AddCuts(LMCL->GetTrackCutsAna(selectedPID) ); + die->GetPairPreFilterLegs().AddCuts(LMCL->GetPIDCutsAna(selectedPID) ); } else { //No Prefilter, no Pairfilter @@ -122,7 +138,13 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) ); die->GetTrackFilter().AddCuts( LMCL->GetPIDCutsAna(selectedPID) ); - + if (cutDefinition == 6) { + AliDielectronTrackCuts *trackCutsDielSPD = new AliDielectronTrackCuts("trackCutsDielSPD","trackCutsDielSPD"); + trackCutsDielSPD->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth); + die->GetTrackFilter().AddCuts( trackCutsDielSPD ); + + + } die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kFALSE)); diff --git a/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C b/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C index 23b13f9ccb5..6b6e8108689 100644 --- a/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C +++ b/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C @@ -188,13 +188,12 @@ class LMEECutLib { pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE ); //___________________________________________ AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF"); - pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,0.4,kFALSE); - pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.4,100.,kFALSE); - pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.2 , 100., kFALSE ); - + pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.5,0.2,100.,kFALSE); pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE); - pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE); - pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE); + pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,0.4,kTRUE); + pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,0.4,kTRUE); + pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE ); + //___________________________________________ AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal"); if (MCenabled) { @@ -213,7 +212,7 @@ class LMEECutLib { pTPCHPT->AddCut(AliDielectronVarManager::kPt,.4,3.0); AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4"); - pTPC->AddCut(AliDielectronVarManager::kPt,.4,2.0); + pTPC->AddCut(AliDielectronVarManager::kPt,.4,3.0); AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2"); pMin->AddCut(AliDielectronVarManager::kPt,.2,2.5); @@ -255,9 +254,9 @@ class LMEECutLib { case kPbPb2011TPCorTOF : AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND); - cgSecondTrackFilterPIDTPC2->AddCut(pMin); + cgSecondTrackFilterPIDTPC2->AddCut(pTPC); cgSecondTrackFilterPIDTPC2->AddCut(pidTT); - cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal); + //cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignalWide); anaCuts = cgSecondTrackFilterPIDTPC2; break; case kpp2010TPCandTOF : @@ -286,27 +285,64 @@ class LMEECutLib { case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : - case kPbPb2011TPCorTOF : case kpp2010TPCandTOF : case kpp2010TPCorTOF : AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND); AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND); AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre"); - pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.); + + pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.5); + pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE); + pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,0.4,kTRUE); + pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,0.4,kTRUE); + pidITSTPC->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE ); cgITSTPC->AddCut(pidITSTPC); + AliDielectronVarCuts *pTPCHPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt"); + pTPCHPT->AddCut(AliDielectronVarManager::kPt,.2,3.0); + cgITSTPC->AddCut(pTPCHPT); + + cgITSTPC->AddCut(GetTrackCutsAna(cutSet)); + AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND); AliDielectronPID *pidITSSA = new AliDielectronPID("pidITSSA","pidITSSA"); pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.); cgITSSA->AddCut(pidITSSA); - // cgITSSA->AddCut(GetTrackCutsPre(cutSet)); + AliDielectronVarCuts *pITSPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt"); + pITSPT->AddCut(AliDielectronVarManager::kPt,0.0,0.8); + cgITSTPC->AddCut(pITSPT); + cgITSSA->AddCut(GetTrackCutsPre(cutSet)); AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR); cgInitialTrackFilter->AddCut(cgITSTPC); cgInitialTrackFilter->AddCut(cgITSSA); anaCuts = cgInitialTrackFilter; break; + + + case kPbPb2011TPCorTOF : + AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND); + AliDielectronCutGroup* cgITSTPCalone = new AliDielectronCutGroup("cgITSTPCalone","cgITSTPCalone",AliDielectronCutGroup::kCompAND); + AliDielectronPID *pidITSTPCalone = new AliDielectronPID("TPCpre","TPCpre"); + + pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.5); + pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE); + pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,0.4,kTRUE); + pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,0.4,kTRUE); + pidITSTPCalone->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE ); + cgITSTPCalone->AddCut(pidITSTPCalone); + + AliDielectronVarCuts *pTPCHPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt"); + pTPCHPT->AddCut(AliDielectronVarManager::kPt,.2,3.0); + cgITSTPCalone->AddCut(pTPCHPT); + + cgITSTPCalone->AddCut(GetTrackCutsAna(cutSet)); + + + + anaCuts = cgITSTPCalone; + break; default: cout << "No Pre-PID Cut defined " << endl; } return anaCuts; @@ -336,9 +372,9 @@ class LMEECutLib { pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0); pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3"); - pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.3); + pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.05); pairCutsInvMgood =new AliDielectronVarCuts("InvM Cuts good","InvM>0.3"); - pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.3, 99999.); + pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.05, 99999.); pairCutsCG->AddCut(pairCutsPhiv); pairCutsCG->AddCut(pairCutsInvM); pairCutsCG2->AddCut(pairCutsInvMgood); @@ -375,10 +411,12 @@ class LMEECutLib { case kpp2010TPCorTOF : AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND); + //AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); + //pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 2.0, 3.2); AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); - pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 2.0, 3.2); + pairCutsPhiv->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0, 0.05); AliDielectronVarCuts* pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3"); - pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.3); + pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.01); pairCutsCG->AddCut(pairCutsPhiv); pairCutsCG->AddCut(pairCutsInvM); @@ -468,7 +506,7 @@ class LMEECutLib { } AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) { - AliESDtrackCuts* trackCuts=0x0; + AliDielectronCutGroup* trackCuts=0x0; switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : @@ -489,7 +527,23 @@ class LMEECutLib { trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); trackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?! */ - cout << "No Pre-Track Cut defined for AODs at the moment " << endl; + trackCuts = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND); + + AliDielectronVarCuts* trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD"); + trackCutsAOD->AddCut(AliDielectronVarManager::kPt,0.05,0.2); + trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84); + //DCA Cut + trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0, 1.0); + trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ, -3.0, 3.0); + trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS, 3.0, 100.0); + AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel"); + trackCutsDiel->SetAODFilterBit(1); //does nothing for ESDs, ITSSA + trackCutsDiel->SetRequireITSRefit(kTRUE); + + trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); + trackCuts->AddCut(trackCutsDiel); + trackCuts->AddCut(trackCutsAOD); +// cout << "No Pre-Track Cut defined for AODs at the moment " << endl; break; default: cout << "No Pre-Track Cut defined " << endl; } -- 2.43.0