From: cbaumann Date: Thu, 14 Feb 2013 12:27:14 +0000 (+0000) Subject: update tasks for PbPb analysis X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=c29de33f3071a47077e0731916b13e627c8e925a;p=u%2Fmrichter%2FAliRoot.git update tasks for PbPb analysis --- diff --git a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C index bba29af8a32..39585b57cc9 100644 --- a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C +++ b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AOD.C @@ -71,9 +71,9 @@ AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AOD(Bool_t runAll=kFALSE,Bool_t se task->AddDielectron(lowmass4); printf("add: %s\n",lowmass4->GetName()); - AliDielectron *lowmass6=ConfigLMEEPbPb2011AOD(6,hasMC,bESDANA); - task->AddDielectron(lowmass6); - printf("add: %s\n",lowmass6->GetName()); + AliDielectron *lowmass1=ConfigLMEEPbPb2011AOD(1,hasMC,bESDANA); + task->AddDielectron(lowmass1); + printf("add: %s\n",lowmass1->GetName()); if (PIDbaseline) { AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA); diff --git a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODMB.C b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODSemiCent.C similarity index 73% rename from PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODMB.C rename to PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODSemiCent.C index 354d5e317e5..dcb0b0bb69a 100644 --- a/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODMB.C +++ b/PWGDQ/dielectron/macrosLMEE/AddTask_cbaumann_LMEEPbPb2011AODSemiCent.C @@ -1,4 +1,6 @@ -AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AODMB(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE){ +AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AODSemiCent(Bool_t runAll=kFALSE,Bool_t setMC=kFALSE,Bool_t getFromAlien=kFALSE, Bool_t PIDbaseline=kFALSE){ + + Bool_t bESDANA=kFALSE; //Autodetect via InputHandler //get the current analysis manager AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); if (!mgr) { @@ -33,6 +35,11 @@ AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AODMB(Bool_t runAll=kFALSE,Bool_t if (mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class()){ ::Info("AddTaskLMEEPbPb2011", "no dedicated AOD configuration"); } + else if (mgr->GetInputEventHandler()->IsA()==AliESDInputHandler::Class()){ + ::Info("AddTaskLMEEPbPb2011AOD","switching on ESD specific code"); + bESDANA=kTRUE; + } + //Do we have an MC handler? Bool_t hasMC=setMC; @@ -50,23 +57,30 @@ AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011AODMB(Bool_t runAll=kFALSE,Bool_t LMEECutLib* cutlib = new LMEECutLib(); AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData"); if (!hasMC) task->UsePhysicsSelection(); - task->SetTriggerMask(AliVEvent::kMB); - //task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral); - -task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); // + task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral); +// task->SelectCollisionCandidates(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral); +// task->SetRejectPileup(); + task->SelectCollisionCandidates(AliVEvent::kAny); + task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); // //load dielectron configuration file //add dielectron analysis with different cuts to the task - AliDielectron *lowmass4=ConfigLMEEPbPb2011AOD(4,hasMC); - task->AddDielectron(lowmass4); - printf("add: %s\n",lowmass4->GetName()); -/* - AliDielectron *lowmass6=ConfigLMEEPbPb2011AOD(6,hasMC); - task->AddDielectron(lowmass6); - printf("add: %s\n",lowmass6->GetName()); -*/ + AliDielectron *lowmass2=ConfigLMEEPbPb2011AOD(2,hasMC,bESDANA); + task->AddDielectron(lowmass2); + printf("add: %s\n",lowmass2->GetName()); + + AliDielectron *lowmass5=ConfigLMEEPbPb2011AOD(5,hasMC,bESDANA); + task->AddDielectron(lowmass5); + printf("add: %s\n",lowmass5->GetName()); + +if (PIDbaseline) { + AliDielectron *lowmass7=ConfigLMEEPbPb2011AOD(7,hasMC,bESDANA); + task->AddDielectron(lowmass7); + printf("add: %s\n",lowmass7->GetName()); +} + mgr->AddTask(task); //create output container diff --git a/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C b/PWGDQ/dielectron/macrosLMEE/ConfigLMEEPbPb2011AOD.C index 99c1b32887b..364cb307408 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;TPCTOFCentnoRej;TPCTOFSemiCentnoRej;TPCTOFPerinoRej;TPCTOFCent;TPCTOFSemiCent;TPCTOFCentnoTOF;NoPIDNoPairing"); +TString names=("noPairing;TPCTOFCentHPT;TPCTOFSemiCentHPT;TPCTOFPerinoRej;TPCTOFCent;TPCTOFSemiCent;TPCTOFCentnoTOF;NoPIDNoPairing"); TObjArray *arrNames=names.Tokenize(";"); const Int_t nDie=arrNames->GetEntries(); @@ -44,12 +44,12 @@ AliDielectron* ConfigLMEEPbPb2011AOD(Int_t cutDefinition, Bool_t hasMC=kFALSE, B //not yet implemented } else if (cutDefinition==1) { - selectedPID = LMEECutLib::kPbPb2011TPCandTOF; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFHPT; selectedCentrality = LMEECutLib::kPbPb2011Central; rejectionStep = kFALSE; } else if (cutDefinition==2) { - selectedPID = LMEECutLib::kPbPb2011TPCandTOF; + selectedPID = LMEECutLib::kPbPb2011TPCandTOFHPT; selectedCentrality = LMEECutLib::kPbPb2011SemiCentral; rejectionStep = kFALSE; } @@ -111,11 +111,9 @@ 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) && (cutDefinition <=7)) { - die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kFALSE)); - } -*/ + + die->GetPairFilter().AddCuts(LMCL->GetPairCuts2(selectedPID,kFALSE)); + } //Introduce NULL-check for pp? diff --git a/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C b/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C index 99a21a77967..060863464d2 100644 --- a/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C +++ b/PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C @@ -4,6 +4,7 @@ class LMEECutLib { static enum LMMECutSet { kPbPb2011NoPID, kPbPb2011TPCandTOF, + kPbPb2011TPCandTOFHPT, kPbPb2011TPC, //TOF required, more relaxed cut on TPC kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC kPbPb2011TPCorTOF, @@ -46,6 +47,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : case kPbPb2011TPCorTOF : @@ -91,6 +93,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : case kPbPb2011TPCorTOF : @@ -121,6 +124,7 @@ class LMEECutLib { */ case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : mixingHandler = new AliDielectronMixingHandler; @@ -205,8 +209,11 @@ class LMEECutLib { pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.); + AliDielectronVarCuts *pTPCHPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt"); + pTPCHPT->AddCut(AliDielectronVarManager::kPt,.4,3.0); + AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4"); - pTPC->AddCut(AliDielectronVarManager::kPt,.4,2.5); + pTPC->AddCut(AliDielectronVarManager::kPt,.4,2.0); AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2"); pMin->AddCut(AliDielectronVarManager::kPt,.2,2.5); @@ -217,6 +224,12 @@ class LMEECutLib { cgSecondTrackFilterNoPID->AddCut(pTPC); anaCuts= cgSecondTrackFilterNoPID; break; + case kPbPb2011TPCandTOFHPT: + AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND); + cgSecondTrackFilterPIDTPC1->AddCut(pTPCHPT); + cgSecondTrackFilterPIDTPC1->AddCut(pidTPCTOFeOnly); + cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal); + anaCuts = cgSecondTrackFilterPIDTPC1; case kPbPb2011TPCandTOF : AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND); cgSecondTrackFilterPIDTPC1->AddCut(pTPC); @@ -270,6 +283,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : case kPbPb2011TPCorTOF : @@ -305,6 +319,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011TPCorTOF : case kpp2010TPCandTOF : + case kPbPb2011TPCandTOFHPT: AliDielectronVarCuts* pairCutsV= new AliDielectronVarCuts("InvMass","InvMass > 150 MeV"); pairCutsV->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE); pairCuts = pairCutsV; @@ -354,6 +369,7 @@ class LMEECutLib { case kPbPb2011TPCandTOF : case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : + case kPbPb2011TPCandTOFHPT: case kpp2010TPCorTOF : pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad"); pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035); @@ -368,6 +384,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : case kPbPb2011TPCorTOF : @@ -402,6 +419,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPC : case kPbPb2011TPCandTOFwide : case kPbPb2011TPCorTOF : @@ -440,6 +458,7 @@ class LMEECutLib { switch (cutSet) { case kPbPb2011NoPID: case kPbPb2011TPCandTOF : + case kPbPb2011TPCandTOFHPT: case kPbPb2011TPCorTOF : case kpp2010TPCandTOF : case kpp2010TPCorTOF :