+//___________________________________________________
+Bool_t AliAnalysisTaskHFE::CheckTRDTrigger(AliESDEvent *ev) {
+//
+// Check TRD trigger; pPb settings
+//
+ Bool_t cint8=kFALSE;
+ Bool_t cint7=kFALSE;
+ Bool_t cint5=kFALSE;
+ Bool_t trdtrgevent=kFALSE;
+ fTRDTriggerAnalysis->CalcTriggers(ev);
+
+ // HSE no cleanup
+ if(fWhichTRDTrigger==1)
+ {
+ cint8= ev->IsTriggerClassFired("CINT8WUHSE-B-NOPF-CENT");
+ cint7= ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT");
+ cint5= (ev->IsTriggerClassFired("CINT5WU-B-NOPF-ALL")) &&
+ (ev->GetHeader()->GetL1TriggerInputs() & (1 << 10));
+ if((cint7==kFALSE)&&(cint8==kFALSE)&&(cint5==kFALSE)) return kFALSE;
+ else
+ {
+ DrawTRDTrigger(ev);
+ return kTRUE;
+ }
+ }
+
+ // HSE cleanup
+ if(fWhichTRDTrigger==2)
+ {
+ if(!fTRDTriggerAnalysis->IsFired(AliTRDTriggerAnalysis::kHSE))
+ {
+ return kFALSE;
+ }
+ else
+ {
+ DrawTRDTrigger(ev);
+ return kTRUE;
+ }
+ }
+
+ //HQU no cleanup
+ if(fWhichTRDTrigger==3)
+ {
+ cint8= ev->IsTriggerClassFired("CINT8WUHQU-B-NOPF-CENT");
+ cint7= ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT");
+ cint5= (ev->IsTriggerClassFired("CINT5WU-B-NOPF-ALL")) &&
+ (ev->GetHeader()->GetL1TriggerInputs() & (1 << 12));
+ if((cint7==kFALSE)&&(cint8==kFALSE)&&(cint5==kFALSE)) return kFALSE;
+ else
+ {
+ DrawTRDTrigger(ev);
+ return kTRUE;
+ }
+ }
+
+ // HQU cleanup
+ if(fWhichTRDTrigger==4)
+ {
+
+ if(!fTRDTriggerAnalysis->IsFired(AliTRDTriggerAnalysis::kHQU))
+ {
+ return kFALSE;
+ }
+ else
+ {
+ DrawTRDTrigger(ev);
+ return kTRUE;
+ }
+ }
+
+ return trdtrgevent;
+
+}
+
+void AliAnalysisTaskHFE::DrawTRDTrigger(AliESDEvent *ev) {
+
+ Int_t ntriggerbit=0;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7-B-NOPF-ALLNOTRD"))
+ {
+ ntriggerbit=2;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WU-B-NOPF-ALL"))
+ {
+ ntriggerbit=3;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")) {
+ ntriggerbit=18;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT")) {
+ ntriggerbit=19;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHJT-B-NOPF-CENT"))
+ {
+ ntriggerbit=4;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")) {
+ ntriggerbit=13;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT")) {
+ ntriggerbit=14;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")) {
+ ntriggerbit=17;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ }
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT"))
+ {
+ ntriggerbit=5;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")) {
+ ntriggerbit=11;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if((!(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")))&&(!(ev->IsTriggerClassFired("CINT7WUHJT-B-NOPF-CENT")))) {
+ ntriggerbit=21;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+
+ /*
+ Int_t nTrdTracks = ev->GetNumberOfTrdTracks();
+ for (Int_t iTrack = 0; iTrack < nTrdTracks; ++iTrack) {
+ AliESDTrdTrack* trdTrack = ev->GetTrdTrack(iTrack);
+ printf("GTU track %3i: pt = %5.1f, PID = %3i\n", iTrack, trdTrack->Pt(), trdTrack->GetPID());
+ }*/
+
+
+ }
+
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT"))
+ {
+ ntriggerbit=6;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT")) {
+ ntriggerbit=12;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-FAST")){
+ ntriggerbit=15;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+
+ if((!(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-CENT")))&&(!(ev->IsTriggerClassFired("CINT7WUHJT-B-NOPF-CENT")))) {
+ ntriggerbit=20;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ /*
+ Int_t nTrdTracks = ev->GetNumberOfTrdTracks();
+ for (Int_t iTrack = 0; iTrack < nTrdTracks; ++iTrack) {
+ AliESDTrdTrack* trdTrack = ev->GetTrdTrack(iTrack);
+ printf("HSE GTU track %3i: pt = %5.1f, PID = %3i\n", iTrack, trdTrack->Pt(), trdTrack->GetPID());
+ } */
+
+ }
+
+ }
+
+ }
+ if(ev->IsTriggerClassFired("CEMC7WUHEE-B-NOPF-CENT")) {
+ ntriggerbit=7;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHJT-B-NOPF-FAST")){
+ ntriggerbit=8;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHQU-B-NOPF-FAST")){
+ ntriggerbit=9;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-FAST")){
+ ntriggerbit=10;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ if(ev->IsTriggerClassFired("CINT7WUHSE-B-NOPF-CENT")) {
+ ntriggerbit=16;
+ fQACollection->Fill("nTriggerBit",ntriggerbit);
+ }
+ }
+ if(ntriggerbit==0) fQACollection->Fill("nTriggerBit",1);
+
+}
+