-/* $Id: $ */\r
-/* $Log$ */\r
-\r
//------------------------------------\r
// Configuration macro example:\r
//\r
-// Do EMCal electron analysis with ESDs\r
+// Configure EMCal electron analysis\r
+//\r
+// Modified by: K. Read\r
//\r
//------------------------------------\r
\r
printf("======================== \n");\r
printf("ConfigAnalysisElectron() \n");\r
printf("======================== \n");\r
- \r
- \r
+ Bool_t kInputIsESD = kTRUE; //uncomment for input ESD\r
+//Bool_t kInputIsESD = kFALSE; //uncomment for input AODs\r
+ Bool_t kFollowsFilter = kTRUE; //uncomment if follows ESD filter task\r
+//Bool_t kFollowsFilter = kFALSE; //uncomment if no ESD filter task\r
+\r
//Detector Fidutial Cuts\r
AliFidutialCut * fidCut = new AliFidutialCut();\r
fidCut->DoCTSFidutialCut(kFALSE) ;\r
fidCut->DoEMCALFidutialCut(kFALSE) ;\r
fidCut->DoPHOSFidutialCut(kFALSE) ;\r
- \r
+\r
//fidCut->SetSimpleCTSFidutialCut(0.9,0.,360.);\r
//fidCut->SetSimpleEMCALFidutialCut(0.7,80.,190.);\r
//fidCut->SetSimplePHOSFidutialCut(0.13,220.,320.);\r
- \r
+\r
fidCut->Print("");\r
- \r
- \r
+\r
//----------------------------------------------------------- \r
// Reader\r
//-----------------------------------------------------------\r
- //AliCaloTrackAODReader *reader = new AliCaloTrackAODReader();\r
- AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();\r
+ if(kInputIsESD && !kFollowsFilter)AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();\r
+ else AliCaloTrackAODReader *reader = new AliCaloTrackAODReader();\r
reader->SetDebug(-1);//10 for lots of messages\r
- \r
+\r
//Switch on or off the detectors information that you want\r
- reader->SwitchOnCTS();\r
reader->SwitchOnEMCAL();\r
+ reader->SwitchOnCTS();\r
+ //reader->SwitchOffEMCALCells(); \r
reader->SwitchOffPHOS();\r
- \r
+ //reader->SwitchOffPHOSCells(); \r
+\r
//Kine\r
- //reader->SwitchOffStack(); // On by default, remember to SwitchOnMCData() in analysis classes\r
- //reader->SwitchOnAODMCParticles(); // Off by default, remember to SwitchOnMCData() in analysis classes\r
+ if(!kInputIsESD){\r
+ reader->SwitchOffStack(); // On by default, remember to SwitchOnMCData() in analysis classes\r
+ reader->SwitchOnAODMCParticles(); // Off by default, remember to SwitchOnMCData() in analysis classes\r
+ }\r
\r
//Min particle pT\r
- reader->SetEMCALPtMin(1.); \r
- \r
- //In case of generating jet events (with PYTHIA), if pt hard\r
- //bin is small reject events with large difference between\r
- //ptHard and triggered jet\r
+ reader->SetCTSPtMin(0.0); //new\r
+ reader->SetEMCALPtMin(0.0); //new\r
+ if(kFollowsFilter)reader->SetTrackStatus(0); //to prevent automatic TPC and ITS refit\r
+\r
+ //In case of generating jet events (with PYTHIA), if pt hard bin is small\r
+ //reject events with large difference between ptHard and triggered jet\r
//reader->SetPtHardAndJetPtComparison(kTRUE);\r
- \r
+\r
reader->SetFidutialCut(fidCut);\r
- \r
- //Embedding/mixing/merging analysis with other events in\r
- //another AOD file\r
- //reader->SetSecondInputFileName("./aod.root");\r
- //Standard event loop can have less events, start mixing at\r
- //event N\r
- //reader->SetSecondInputFirstEvent(0);\r
- \r
- // Analysis with tracks, select only tracks with\r
- // following bits\r
- \r
- //We want tracks fitted in the detectors:\r
- // ULong_t status=AliAODTrack::kTPCrefit;\r
- // status|=AliAODTrack::kITSrefit;\r
- \r
- //We want tracks whose PID bit is set:\r
- // ULong_t status =AliAODTrack::kITSpid;\r
- // status|=AliAODTrack::kTPCpid;\r
- \r
- // reader->SetTrackStatus(status);\r
- \r
+\r
+ if(!kInputIsESD){\r
+ // Analysis with tracks, select only tracks with\r
+ // following bits\r
+\r
+ // //We want tracks fitted in the detectors:\r
+ // ULong_t status=AliAODTrack::kTPCrefit;\r
+ // status|=AliAODTrack::kITSrefit;\r
+ \r
+ // We want tracks whose PID bit is set:\r
+ // ULong_t status =AliAODTrack::kITSpid;\r
+ // status|=AliAODTrack::kTPCpid; \r
+\r
+ // reader->SetTrackStatus(status);\r
+ }\r
+\r
reader->Print("");\r
- \r
- \r
- //---------------------------------------------------------------------\r
- // Analysis algorithm\r
- //---------------------------------------------------------------------\r
- \r
+\r
+\r
//Detector Fidutial Cuts\r
AliFidutialCut * fidCut2 = new AliFidutialCut();\r
fidCut2->DoEMCALFidutialCut(kTRUE) ;\r
\r
fidCut2->Print("");\r
\r
+ //---------------------------------------------------------------------\r
+ // Analysis algorithm\r
+ //---------------------------------------------------------------------\r
+\r
AliAnaElectron *anaelectron = new AliAnaElectron();\r
anaelectron->SetDebug(-1); //10 for lots of messages\r
anaelectron->SetCalorimeter("EMCAL");\r
- anaelectron->SetWriteNtuple(kTRUE);\r
- //matching cuts\r
+ anaelectron->SwitchOnDataMC();\r
anaelectron->SetpOverEmin(0.8);\r
anaelectron->SetpOverEmax(1.2);\r
anaelectron->SetResidualCut(0.05);\r
- //B-tagging cuts\r
- anaelectron->SetDrCut(1.0);\r
- anaelectron->SetPairDcaCut(0.02);\r
- anaelectron->SetDecayLenCut(1.0);\r
- anaelectron->SetImpactCut(0.5);\r
- anaelectron->SetAssocPtCut(1.0);\r
- anaelectron->SetMassCut(1.5);\r
- anaelectron->SetSdcaCut(0.1);\r
- anaelectron->SetITSCut(4);\r
-\r
- anaelectron->SwitchOnDataMC(); //Access MC stack and fill more histograms\r
anaelectron->SetMinPt(1.);\r
+ anaelectron->SetImpactCut(1.0); //instead of 0.5\r
+ anaelectron->SetSdcaCut(0.05); //instead of 0.1\r
anaelectron->SetOutputAODName("Electrons");\r
anaelectron->SetOutputAODClassName("AliAODPWG4Particle");\r
+ anaelectron->SetWriteNtuple(kFALSE);\r
//Set Histrograms bins and ranges\r
anaelectron->SetHistoPtRangeAndNBins(0, 50, 100) ;\r
anaelectron->SetHistoPhiRangeAndNBins(0, TMath::TwoPi(), 100) ;\r
- anaelectron->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ; \r
+ anaelectron->SetHistoEtaRangeAndNBins(-0.7, 0.7, 100) ;\r
anaelectron->Print("");\r
- \r
+\r
//---------------------------------------------------------------------\r
// Set analysis algorithm and reader\r
//---------------------------------------------------------------------\r
maker->SetAnaDebug(-1) ;\r
maker->SwitchOnHistogramsMaker() ;\r
maker->SwitchOnAODsMaker() ;\r
- \r
+\r
maker->Print("");\r
//\r
- printf("======================== \n");\r
+ printf("============================ \n");\r
printf("END ConfigAnalysisElectron() \n");\r
- printf("======================== \n");\r
+ printf("============================ \n");\r
return maker ;\r
}\r