-AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011(Bool_t runAll=kFALSE){
+AliAnalysisTask *AddTask_cbaumann_LMEEPbPb2011(Bool_t runAll=kFALSE, Bool_t setMC=kFALSE){
//get the current analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
}
//Do we have an MC handler?
- Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
+ //Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
+ Bool_t hasMC=setMC;
const Int_t kNtriggers=1;
ULong64_t triggers[]={AliVEvent::kCentral | AliVEvent::kSemiCentral | AliVEvent::kMB };
LMEECutLib* cutlib = new LMEECutLib();
AliAnalysisTaskMultiDielectron *task=new AliAnalysisTaskMultiDielectron("MultiDiEData");
if (!hasMC){ task->UsePhysicsSelection();
+ }
task->SetTriggerMask(triggers[0]);
task->SetEventFilter(cutlib->GetEventCuts(LMEECutLib::kPbPb2011TPCandTOF)); //
- }
//load dielectron configuration file
public:
static enum LMMECutSet {
- kPbPb2011TPCandTOF,
+ kPbPb2011TPCandTOF, //TOF required
+ kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC
kPbPb2011TPCorTOF,
kpp2010TPCandTOF,
kpp2010TPCorTOF,
AliDielectronEventCuts* eventCuts = 0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
case kpp2010TPCandTOF :
case kpp2010TPCorTOF :
AliDielectronTrackRotator* trackRotator = 0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
case kpp2010TPCandTOF :
case kpp2010TPCorTOF :
AliDielectronMixingHandler* mixingHandler = 0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
mixingHandler = new AliDielectronMixingHandler;
mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal");
pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.);
//___________________________________________
+ AliDielectronVarCuts *pidTPCsignalWide = new AliDielectronVarCuts("pidTPCsignalWide","cut on the TPC signal");
+ pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,70.,90.);
+ //___________________________________________
AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4");
pTPC->AddCut(AliDielectronVarManager::kP,.4,5.);
case kPbPb2011TPCandTOF :
AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
- //cgSecondTrackFilterPIDTPC1->AddCut(pidTPCTOFeOnly);
cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
anaCuts = cgSecondTrackFilterPIDTPC1;
break;
+ case kPbPb2011TPCandTOFwide :
+ AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
+ cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
+ cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
+ cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignalWide);
+ cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
+ anaCuts = cgSecondTrackFilterPIDTPC1;
+ break;
case kPbPb2011TPCorTOF :
AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
cgSecondTrackFilterPIDTPC2->AddCut(pMin);
AliAnalysisCuts* anaCuts=0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
case kpp2010TPCandTOF :
case kpp2010TPCorTOF :
pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
break;
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kpp2010TPCorTOF :
pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
AliESDtrackCuts* trackCuts=0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
case kpp2010TPCandTOF :
case kpp2010TPCorTOF :
AliESDtrackCuts* trackCuts=0x0;
switch (cutSet) {
case kPbPb2011TPCandTOF :
+ case kPbPb2011TPCandTOFwide :
case kPbPb2011TPCorTOF :
case kpp2010TPCandTOF :
case kpp2010TPCorTOF :