]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGPP/CalibMacros/CPass1/AddTaskTRDCalib.C
ALIROOT-5535 (Alla)
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass1 / AddTaskTRDCalib.C
CommitLineData
807998f3 1//=============================================================================
2//
3// *** AddTaskTRDCalib
4//
5// This macros setup the TRD calibration task
6//
7//=============================================================================
8
9AliAnalysisTask *AddTaskTRDCalib(Int_t runNumber)
10{
11 gSystem->Load("libTRDcalib");
12 // pointer to the analysis manager
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
14 if (!mgr) {
15 Error("AddTaskTRDCalib", "No analysis manager to connect to.");
16 return NULL;
17 }
18
19 // check the input handler
20 if (!mgr->GetInputEventHandler()) {
21 ::Error("AddTask", "This task requires an input event handler");
22 return NULL;
23 }
24
c1ca05ad 25 // check the presence of the detectors
26 AliCDBEntry* entry = AliCDBManager::Instance()->Get("GRP/GRP/Data");
27 AliGRPObject* grpData = dynamic_cast<AliGRPObject*>(entry->GetObject());
28 if (!grpData) {printf("Failed to get GRP data for run",runNumber); return;}
29 Int_t activeDetectors = grpData->GetDetectorMask();
30 TString detStr = AliDAQ::ListOfTriggeredDetectors(activeDetectors);
7311ab6c 31 TString type = grpData->GetBeamType();
32
807998f3 33 ////////////////////////////////////////////
34 // Number of timebins
35 ///////////////////////////////////////////
36 AliTRDcalibDB *calib = AliTRDcalibDB::Instance();
37 Int_t nbOfTimeBins = calib->GetNumberOfTimeBinsDCS();
38 if(nbOfTimeBins < 0) nbOfTimeBins = 27;
39 ////////////////////////////////////////////
40 //
41 /////////////////////////////////////////////
42 Int_t versiongain, subversiongain, versionvdrift, subversionvdrift;
43
c1ca05ad 44
807998f3 45 /////////////////////////
46 // The TRD calib Task
47 /////////////////////////
48 AliTRDCalibTask *calibTask = new AliTRDCalibTask();
49
50 // Disabling TRD CPAss0 as per https://savannah.cern.ch/bugs/?88813
51 //calibTask->SetMaxEvent(-1);
52
7311ab6c 53 if (strstr(type.Data(),"A-A")) {
54 calibTask->SetMaxNbTracks(1600);
55 }
56 else calibTask->SetMaxNbTracks(999999999);
807998f3 57 calibTask->SetHisto2d(kTRUE);
58 calibTask->SetVector2d(kFALSE);
59 calibTask->SetVdriftLinear(kTRUE);
60 calibTask->SetExbAlt(kFALSE);
61 calibTask->SetNz(0,0);
62 calibTask->SetNrphi(0,0);
63 calibTask->SetNz(0,1);
64 calibTask->SetNrphi(0,1);
65 calibTask->SetNz(0,2);
66 calibTask->SetNrphi(0,2);
67 calibTask->SetLow(0);
68 calibTask->SetHigh(30);
69 calibTask->SetFillZero(kFALSE);
70 // now
71 calibTask->AddSelectedTriggerClass("C0OB0-ABCE-NOPF-ALL");
72 calibTask->AddSelectedTriggerClass("CTRDCO2-ABCE-NOPF-CENT");
73 calibTask->AddSelectedTriggerClass("CTRDCO2-ABCE-NOPF-TRD");
74 calibTask->AddSelectedTriggerClass("CTRDCO2-ABCE-NOPF-ALL");
75 calibTask->SetReject(kTRUE);
76 // before
77 //calibTask->AddSelectedTriggerClass("CINT1B-ABCE-NOPF-ALL");
78 //calibTask->AddSelectedTriggerClass("CINT1WU-B-NOPF-ALL");
79 //calibTask->AddSelectedTriggerClass("CINT7WU-B-NOPF-ALL");
80 //calibTask->AddSelectedTriggerClass("CINT7WU-I-NOPF-ALL");
81 //calibTask->SetReject(kFALSE);
82 //calibTask->SetDebug(2);
83 calibTask->SetNbTimeBins(nbOfTimeBins);
5fdbc802 84 calibTask->SetNumberBinCharge(100);
807998f3 85 //calibTask->SetMaxEvent(10);
86 //calibTask->SetThresholdP(1.0);
87 calibTask->SetRequirePrimaryVertex(kTRUE);
88 calibTask->SetMinNbOfContributors(1);
89 calibTask->SetMaxCluster(100.0);
90 calibTask->SetNbMaxCluster(2);
c1ca05ad 91
92 if ( detStr.Contains("ITSSPD") && (!detStr.Contains("ITSSDD") || !detStr.Contains("ITSSSD"))) calibTask->SetUseSPDVertex();
93
807998f3 94 //calibTask->SetLimitChargeIntegration(kTRUE);
95
96
97 /////////////////////////////
98 // Track cuts
99 /////////////////////////////
100 AliESDtrackCuts *trackCuts = new AliESDtrackCuts("trackcuts","trackcuts");
101 trackCuts->SetMinNClustersTPC(50);
102 trackCuts->SetMaxChi2PerClusterTPC(3.5);
103 //trackCuts->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
104 trackCuts->SetRequireTPCRefit(kTRUE);
c04132ba 105 // trackCuts->SetRequireITSRefit(kTRUE); //removed by BD after discussion with Raphaelle, was introduced to handle pile-up
a88f27f8 106 trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
807998f3 107 //trackCuts->SetMinNsigmaToVertex(10);
108 trackCuts->SetRequireSigmaToVertex(kFALSE);
109 trackCuts->SetAcceptKinkDaughters(kFALSE);
110 trackCuts->SetMaxDCAToVertexZ(30.0);
111 trackCuts->SetMaxDCAToVertexXY(3.0);
112 trackCuts->SetDCAToVertex2D(kFALSE);
113
114 calibTask->SetESDtrackCuts(trackCuts);
115
116 mgr->AddTask(calibTask);
117
118 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
119 //AliAnalysisDataContainer *cinput = mgr->GetCommonOutputContainer();
120
121 if (!cinput) cinput = mgr->CreateContainer("cchain",TChain::Class(),
122 AliAnalysisManager::kInputContainer);
123
124 AliAnalysisDataContainer *coutput =mgr->CreateContainer("TRDCalib",TList::Class(), AliAnalysisManager::kOutputContainer, "AliESDfriends_v1.root");
125
126
127 mgr->ConnectInput(calibTask,0,cinput);
128 mgr->ConnectOutput(calibTask,1,coutput);
129 return calibTask;
130
131}