#include "AliZDCTriggerProcessor.h"
#include "AliCDBManager.h"
#include "AliCDBEntry.h"
#include "AliCDBMetaData.h"
#include "AliLog.h"
#include "AliZDCTriggerParameters.h"
ClassImp(AliZDCTriggerProcessor)
AliZDCTriggerProcessor::AliZDCTriggerProcessor() :
fSignal(0x0),
fTriggerParam(0x0)
{
}
AliZDCTriggerProcessor::AliZDCTriggerProcessor(Float_t* signal) :
fSignal(signal),
fTriggerParam(GetTriggerParamFromOCDB())
{
}
AliZDCTriggerProcessor::AliZDCTriggerProcessor(Float_t* signal, AliZDCTriggerParameters* ocdbParam) :
fSignal(signal),
fTriggerParam(ocdbParam)
{
}
AliZDCTriggerProcessor &AliZDCTriggerProcessor::operator =(const AliZDCTriggerProcessor &trig)
{
this->~AliZDCTriggerProcessor();
new(this) AliZDCTriggerProcessor(trig);
return *this;
}
AliZDCTriggerProcessor::AliZDCTriggerProcessor(const AliZDCTriggerProcessor& trigg) :
TObject(),
fSignal(trigg.fSignal),
fTriggerParam(trigg.fTriggerParam)
{
}
AliZDCTriggerProcessor::~AliZDCTriggerProcessor()
{
}
UInt_t AliZDCTriggerProcessor::ProcessEvent()
{
UInt_t ctpInput = 0;
Bool_t mbTriggered = MBTrigger();
if(mbTriggered == kTRUE) ctpInput = 0x1;
Bool_t cenTriggered = CentralTrigger();
if(cenTriggered == kTRUE) ctpInput = 0x1 << 1;
Bool_t semicenTriggered = SemicentralTrigger();
if(semicenTriggered == kTRUE) ctpInput = 0x1 << 2;
Bool_t emdTriggered = EMDTrigger();
if(emdTriggered == kTRUE) ctpInput = 0x1 << 3;
if((mbTriggered == kTRUE) || (cenTriggered == kTRUE) ||
(semicenTriggered == kTRUE) || (emdTriggered == kTRUE)){
return ctpInput;
}
else{
return 0;
}
}
Bool_t AliZDCTriggerProcessor::MBTrigger()
{
Float_t mbTrheshold = 0.;
if(fTriggerParam) mbTrheshold = fTriggerParam->GetADCMBThreshold();
if((fSignal[0]+fSignal[1]+fSignal[3]+fSignal[4]) > mbTrheshold)
return kTRUE;
else return kFALSE;
}
Bool_t AliZDCTriggerProcessor::CentralTrigger()
{
Float_t zemThr = 0;
Float_t centralWin[2] = {0,0};
if(fTriggerParam){
zemThr = fTriggerParam->GetADCZDCCentralityThr();
const Float_t* cWin = fTriggerParam->GetADCCentralWindow();
centralWin[0] = cWin[0];
centralWin[1] = cWin[1];
}
if((fSignal[0]+fSignal[1]+fSignal[3]+fSignal[4]) > centralWin[0]
&&
(fSignal[0]+fSignal[1]+fSignal[3]+fSignal[4]) < centralWin[1]
&&
fSignal[2] > zemThr)
return kTRUE;
else return kFALSE;
}
Bool_t AliZDCTriggerProcessor::SemicentralTrigger()
{
Float_t zemThr = 0;
Float_t semicentralWin[2] = {0,0};
if(fTriggerParam){
zemThr = fTriggerParam->GetADCZDCCentralityThr();
const Float_t* cWin = fTriggerParam->GetADCSemicentralWindow();
semicentralWin[0] = cWin[0];
semicentralWin[1] = cWin[1];
}
if((fSignal[0]+fSignal[1]+fSignal[3]+fSignal[4]) > semicentralWin[0]
&&
(fSignal[0]+fSignal[1]+fSignal[3]+fSignal[4]) < semicentralWin[1]
&&
fSignal[2] > zemThr)
return kTRUE;
else return kFALSE;
}
Bool_t AliZDCTriggerProcessor::EMDTrigger()
{
Float_t emdWin[4] = {0,0,0,0};
if(fTriggerParam){
const Float_t* eWin = fTriggerParam->GetADCEMDWindow();
emdWin[0] = eWin[0];
emdWin[1] = eWin[1];
emdWin[2] = eWin[2];
emdWin[3] = eWin[3];
}
if(fSignal[0] > emdWin[0] && fSignal[0] < emdWin[1]
&&
fSignal[3] > emdWin[2] && fSignal[3] < emdWin[3])
return kTRUE;
else return kFALSE;
}
AliZDCTriggerParameters* AliZDCTriggerProcessor::GetTriggerParamFromOCDB() const
{
AliZDCTriggerParameters *trigParam = 0x0;
AliCDBEntry *entry = AliCDBManager::Instance()->Get("ZDC/Trigger/");
if(!entry) AliFatal("No calibration data loaded!");
else{
trigParam = dynamic_cast<AliZDCTriggerParameters*> (entry->GetObject());
if(!trigParam) AliFatal("Wrong calibration object in calibration file!");
}
return trigParam;
}
AliZDCTriggerProcessor.cxx:1 AliZDCTriggerProcessor.cxx:2 AliZDCTriggerProcessor.cxx:3 AliZDCTriggerProcessor.cxx:4 AliZDCTriggerProcessor.cxx:5 AliZDCTriggerProcessor.cxx:6 AliZDCTriggerProcessor.cxx:7 AliZDCTriggerProcessor.cxx:8 AliZDCTriggerProcessor.cxx:9 AliZDCTriggerProcessor.cxx:10 AliZDCTriggerProcessor.cxx:11 AliZDCTriggerProcessor.cxx:12 AliZDCTriggerProcessor.cxx:13 AliZDCTriggerProcessor.cxx:14 AliZDCTriggerProcessor.cxx:15 AliZDCTriggerProcessor.cxx:16 AliZDCTriggerProcessor.cxx:17 AliZDCTriggerProcessor.cxx:18 AliZDCTriggerProcessor.cxx:19 AliZDCTriggerProcessor.cxx:20 AliZDCTriggerProcessor.cxx:21 AliZDCTriggerProcessor.cxx:22 AliZDCTriggerProcessor.cxx:23 AliZDCTriggerProcessor.cxx:24 AliZDCTriggerProcessor.cxx:25 AliZDCTriggerProcessor.cxx:26 AliZDCTriggerProcessor.cxx:27 AliZDCTriggerProcessor.cxx:28 AliZDCTriggerProcessor.cxx:29 AliZDCTriggerProcessor.cxx:30 AliZDCTriggerProcessor.cxx:31 AliZDCTriggerProcessor.cxx:32 AliZDCTriggerProcessor.cxx:33 AliZDCTriggerProcessor.cxx:34 AliZDCTriggerProcessor.cxx:35 AliZDCTriggerProcessor.cxx:36 AliZDCTriggerProcessor.cxx:37 AliZDCTriggerProcessor.cxx:38 AliZDCTriggerProcessor.cxx:39 AliZDCTriggerProcessor.cxx:40 AliZDCTriggerProcessor.cxx:41 AliZDCTriggerProcessor.cxx:42 AliZDCTriggerProcessor.cxx:43 AliZDCTriggerProcessor.cxx:44 AliZDCTriggerProcessor.cxx:45 AliZDCTriggerProcessor.cxx:46 AliZDCTriggerProcessor.cxx:47 AliZDCTriggerProcessor.cxx:48 AliZDCTriggerProcessor.cxx:49 AliZDCTriggerProcessor.cxx:50 AliZDCTriggerProcessor.cxx:51 AliZDCTriggerProcessor.cxx:52 AliZDCTriggerProcessor.cxx:53 AliZDCTriggerProcessor.cxx:54 AliZDCTriggerProcessor.cxx:55 AliZDCTriggerProcessor.cxx:56 AliZDCTriggerProcessor.cxx:57 AliZDCTriggerProcessor.cxx:58 AliZDCTriggerProcessor.cxx:59 AliZDCTriggerProcessor.cxx:60 AliZDCTriggerProcessor.cxx:61 AliZDCTriggerProcessor.cxx:62 AliZDCTriggerProcessor.cxx:63 AliZDCTriggerProcessor.cxx:64 AliZDCTriggerProcessor.cxx:65 AliZDCTriggerProcessor.cxx:66 AliZDCTriggerProcessor.cxx:67 AliZDCTriggerProcessor.cxx:68 AliZDCTriggerProcessor.cxx:69 AliZDCTriggerProcessor.cxx:70 AliZDCTriggerProcessor.cxx:71 AliZDCTriggerProcessor.cxx:72 AliZDCTriggerProcessor.cxx:73 AliZDCTriggerProcessor.cxx:74 AliZDCTriggerProcessor.cxx:75 AliZDCTriggerProcessor.cxx:76 AliZDCTriggerProcessor.cxx:77 AliZDCTriggerProcessor.cxx:78 AliZDCTriggerProcessor.cxx:79 AliZDCTriggerProcessor.cxx:80 AliZDCTriggerProcessor.cxx:81 AliZDCTriggerProcessor.cxx:82 AliZDCTriggerProcessor.cxx:83 AliZDCTriggerProcessor.cxx:84 AliZDCTriggerProcessor.cxx:85 AliZDCTriggerProcessor.cxx:86 AliZDCTriggerProcessor.cxx:87 AliZDCTriggerProcessor.cxx:88 AliZDCTriggerProcessor.cxx:89 AliZDCTriggerProcessor.cxx:90 AliZDCTriggerProcessor.cxx:91 AliZDCTriggerProcessor.cxx:92 AliZDCTriggerProcessor.cxx:93 AliZDCTriggerProcessor.cxx:94 AliZDCTriggerProcessor.cxx:95 AliZDCTriggerProcessor.cxx:96 AliZDCTriggerProcessor.cxx:97 AliZDCTriggerProcessor.cxx:98 AliZDCTriggerProcessor.cxx:99 AliZDCTriggerProcessor.cxx:100 AliZDCTriggerProcessor.cxx:101 AliZDCTriggerProcessor.cxx:102 AliZDCTriggerProcessor.cxx:103 AliZDCTriggerProcessor.cxx:104 AliZDCTriggerProcessor.cxx:105 AliZDCTriggerProcessor.cxx:106 AliZDCTriggerProcessor.cxx:107 AliZDCTriggerProcessor.cxx:108 AliZDCTriggerProcessor.cxx:109 AliZDCTriggerProcessor.cxx:110 AliZDCTriggerProcessor.cxx:111 AliZDCTriggerProcessor.cxx:112 AliZDCTriggerProcessor.cxx:113 AliZDCTriggerProcessor.cxx:114 AliZDCTriggerProcessor.cxx:115 AliZDCTriggerProcessor.cxx:116 AliZDCTriggerProcessor.cxx:117 AliZDCTriggerProcessor.cxx:118 AliZDCTriggerProcessor.cxx:119 AliZDCTriggerProcessor.cxx:120 AliZDCTriggerProcessor.cxx:121 AliZDCTriggerProcessor.cxx:122 AliZDCTriggerProcessor.cxx:123 AliZDCTriggerProcessor.cxx:124 AliZDCTriggerProcessor.cxx:125 AliZDCTriggerProcessor.cxx:126 AliZDCTriggerProcessor.cxx:127 AliZDCTriggerProcessor.cxx:128 AliZDCTriggerProcessor.cxx:129 AliZDCTriggerProcessor.cxx:130 AliZDCTriggerProcessor.cxx:131 AliZDCTriggerProcessor.cxx:132 AliZDCTriggerProcessor.cxx:133 AliZDCTriggerProcessor.cxx:134 AliZDCTriggerProcessor.cxx:135 AliZDCTriggerProcessor.cxx:136 AliZDCTriggerProcessor.cxx:137 AliZDCTriggerProcessor.cxx:138 AliZDCTriggerProcessor.cxx:139 AliZDCTriggerProcessor.cxx:140 AliZDCTriggerProcessor.cxx:141 AliZDCTriggerProcessor.cxx:142 AliZDCTriggerProcessor.cxx:143 AliZDCTriggerProcessor.cxx:144 AliZDCTriggerProcessor.cxx:145 AliZDCTriggerProcessor.cxx:146 AliZDCTriggerProcessor.cxx:147 AliZDCTriggerProcessor.cxx:148 AliZDCTriggerProcessor.cxx:149 AliZDCTriggerProcessor.cxx:150 AliZDCTriggerProcessor.cxx:151 AliZDCTriggerProcessor.cxx:152 AliZDCTriggerProcessor.cxx:153 AliZDCTriggerProcessor.cxx:154 AliZDCTriggerProcessor.cxx:155 AliZDCTriggerProcessor.cxx:156 AliZDCTriggerProcessor.cxx:157 AliZDCTriggerProcessor.cxx:158 AliZDCTriggerProcessor.cxx:159 AliZDCTriggerProcessor.cxx:160 AliZDCTriggerProcessor.cxx:161 AliZDCTriggerProcessor.cxx:162 AliZDCTriggerProcessor.cxx:163 AliZDCTriggerProcessor.cxx:164 AliZDCTriggerProcessor.cxx:165 AliZDCTriggerProcessor.cxx:166 AliZDCTriggerProcessor.cxx:167 AliZDCTriggerProcessor.cxx:168 AliZDCTriggerProcessor.cxx:169 AliZDCTriggerProcessor.cxx:170 AliZDCTriggerProcessor.cxx:171 AliZDCTriggerProcessor.cxx:172 AliZDCTriggerProcessor.cxx:173 AliZDCTriggerProcessor.cxx:174 AliZDCTriggerProcessor.cxx:175 AliZDCTriggerProcessor.cxx:176 AliZDCTriggerProcessor.cxx:177 AliZDCTriggerProcessor.cxx:178 AliZDCTriggerProcessor.cxx:179 AliZDCTriggerProcessor.cxx:180 AliZDCTriggerProcessor.cxx:181 AliZDCTriggerProcessor.cxx:182 AliZDCTriggerProcessor.cxx:183 AliZDCTriggerProcessor.cxx:184