1 //------------------------------------
\r
2 // Config file for B-tagging
\r
4 // Author T. Aronsson
\r
6 //------------------------------------
\r
8 AliAnaPartCorrMaker* ConfigAnalysis()
\r
11 // Configuration goes here
\r
13 printf("======================== \n");
\r
14 printf("==Preforming Btag.cxx=== \n");
\r
15 printf("======================== \n");
\r
16 Bool_t kInputIsESD = kTRUE; //uncomment for input ESD
\r
17 //Bool_t kInputIsESD = kFALSE; //uncomment for input AODs
\r
18 Bool_t kFollowsFilter = kTRUE; //uncomment if follows ESD filter task
\r
19 //Bool_t kFollowsFilter = kFALSE; //uncomment if no ESD filter task
\r
20 Bool_t kMC = kTRUE; //set to kFALSE for data
\r
24 //Alternatively, select input via anaInputData environment variable.
\r
25 if (gSystem->Getenv("anaInputData")){
\r
26 TString kInputData = gSystem->Getenv("anaInputData");
\r
27 if( kInputData == "AOD" ){
\r
28 kInputIsESD = kFALSE;
\r
29 kFollowsFilter = kFALSE;
\r
33 //Alternatively, adjust for real data based on kMC value.
\r
34 if (gSystem->Getenv("anakMC")){
\r
35 kMC = atoi(gSystem->Getenv("anakMC"));
\r
38 //Detector Fiducial Cuts
\r
39 AliFiducialCut * fidCut = new AliFiducialCut();
\r
40 fidCut->DoCTSFiducialCut(kFALSE) ;
\r
41 fidCut->DoEMCALFiducialCut(kFALSE) ;
\r
42 fidCut->DoPHOSFiducialCut(kFALSE) ;
\r
44 //fidCut->SetSimpleCTSFiducialCut(0.9,0.,360.);
\r
45 //fidCut->SetSimpleEMCALFiducialCut(0.7,80.,190.);
\r
46 //fidCut->SetSimplePHOSFiducialCut(0.13,220.,320.);
\r
50 //-----------------------------------------------------------
\r
52 //-----------------------------------------------------------
\r
53 if(kInputIsESD && !kFollowsFilter)AliCaloTrackESDReader *reader = new AliCaloTrackESDReader();
\r
54 else AliCaloTrackAODReader *reader = new AliCaloTrackAODReader();
\r
55 reader->SetDebug(-1);//10 for lots of messages
\r
56 reader->SwitchOnWriteDeltaAOD();
\r
57 //Switch on or off the detectors information that you want
\r
58 reader->SwitchOnEMCAL();
\r
59 reader->SwitchOnCTS();
\r
60 reader->SwitchOffPHOS();
\r
64 if(kMC && !kInputIsESD){
\r
65 reader->SwitchOffStack(); // On by default, remember to SwitchOnMCData() in analysis classes
\r
66 reader->SwitchOnAODMCParticles(); // Off by default, remember to SwitchOnMCData() in analysis classes
\r
69 //Select Trigger Class for real data
\r
70 if(!kMC) reader->SetFiredTriggerClassName("CINT1B-ABCE-NOPF-ALL");
\r
73 reader->SetCTSPtMin(0.0); //new
\r
74 reader->SetEMCALPtMin(0.0); //new
\r
75 if(kFollowsFilter)reader->SetTrackStatus(0); //to prevent automatic TPC and ITS refit
\r
79 reader->SetFiducialCut(fidCut);
\r
88 //Detector Fiducial Cuts
\r
89 AliFiducialCut * fidCut2 = new AliFiducialCut();
\r
90 fidCut2->DoEMCALFiducialCut(kTRUE) ;
\r
91 fidCut2->SetSimpleEMCALFiducialCut(0.7,80.,190.);
\r
93 fidCut2->DoCTSFiducialCut(kTRUE) ;
\r
94 fidCut2->SetSimpleCTSFiducialCut(0.9,0.,360.);
\r
102 //---------------------------------------------------------------------
\r
103 // Analysis algorithm
\r
104 //---------------------------------------------------------------------
\r
106 AliAnaBtag *btag = new AliAnaBtag();
\r
109 btag->SetDebug(-1); //10 for lots of messages
\r
110 //btag->SetWriteNtuple(1); //Can be used to write out NTuples for local analysis (1000 times faster than AOD analysis), default is off.
\r
112 btag->SwitchOnDataMC();
\r
113 btag->SetMinPt(1.);
\r
115 btag->SetOutputAODName("Electrons");
\r
116 btag->SetOutputAODClassName("AliAODPWG4Particle");
\r
122 //---------------------------------------------------------------------
\r
123 // Set analysis algorithm and reader
\r
124 //---------------------------------------------------------------------
\r
125 maker = new AliAnaPartCorrMaker();
\r
126 maker->SetReader(reader);//pointer to reader
\r
127 maker->AddAnalysis(btag,0);
\r
128 maker->SetAnaDebug(-1) ;
\r
129 maker->SwitchOnHistogramsMaker() ;
\r
130 maker->SwitchOnAODsMaker() ;
\r
134 printf("============================ \n");
\r
135 printf("END ConfigAnalysisElectron() \n");
\r
136 printf("============================ \n");
\r