Thanks for posting this question. I think this is a very good UC and you can achieve it following the steps below.
0. Assume you have created two desired ScanPlan with normal syntax and you can see them in ``bt.list()``.
1. define plans in a verbose way
>>> up = bt.scanplans['Tramp_120_90_300_2']
>>> down = bt.scanplans['Tramp_120_300_90_2']
2. import bluesky thingy again to make sure namespace is correct
>>> import bluesky.plans as bp
3. make the master plan which ramps down first, waits for 1200s (20mins) and ramps up
>>> master_plan = bp.pchain(down.factory(), bp.sleep(1200), up.factory())
4. executer the plan!
>>> xrun(<sample_ind>, master_plan)
Note: if for some reason you abort the scan, you need to redefine the ``master_plan`` before firing ``xrun``
In fact, each ScanPlan in xpdAcq is a valid bluesky scan plan and therefore this pattern is more preferred than a script.
Once you define your ScanPlans in a verbose way as in step 1 above, you can extend them freely!
For example, you can create a master plan with two 60s single-shot scans before and after ramping by:
0. define ``ct_60`` plan in a verbose way
>>> ct60 = bt.scanplans['ct_60']
1. define new master plan
>>> master_plan = bp.pchain(ct60.factory(), down.factory(), bp.sleep(1200), up.factory(), ct60.factory())
2. execute it!
>>> xrun(<sample_ind>, master_plan)