-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add time_constant function #179
base: main
Are you sure you want to change the base?
Conversation
for more information, see https://pre-commit.ci
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I comment in terms of hwp controls for this type of measurements that spins up and down hwp.
-
I suggest streaming separately for forward spin and backward spin. This is because hwp solution pipeline assumes constant rotation direction within the data range. It requires more work to analyze it if both forward and reverse spin are included in the data range.
-
For the hwp rotation direction estimation, you can just use.
apply_hwp_angle_model(tod, on_sign_ambiguous='offcenter')
. It might be possible to simplify functions. The hwp rotation direction estimation has to be different from cmb observations bacausehwp_solution.pid_direction
is not reliable for spin down measurement. This is because commanded spin direction and actual spin direction is different when hwp is spinning down.hwp_solution.offcenter_direction
will be the robust rotation direction estimator for this hwp spin down up measurements.
if stepwise_before: | ||
rotate(False) | ||
# Stop the HWP | ||
_stop_hwp_with_wiregrid() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to add following here, to stream separately for forward and backward
run.smurf.stream('off')
run.smurf.stream('on')
Thanks Kyohei!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I add comments around insert() and eject().
run.smurf.bias_step(tag=bs_tag, concurrent=True) | ||
|
||
# Insert the wiregrid | ||
insert() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add detector streams during the insert() and eject(), and add sleep (5 sec?) before and after the insert()/eject()?
Sleep times have two purposes. One is to see the detector response with/without the wiregrid right before and after the insertion/ejection. The second is to wait for the wiregrid to be stable before the bias-step measurement.
run.smurf.bias_step(tag=bs_tag, concurrent=True) | ||
|
||
# Eject the wiregrid | ||
eject() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, I want to add also detector stream ON --> sleep --> eject --> sleep.
I added some APIs for a time constant measurement with the wire grid and the HWP into the
wiregrid.py
.Here is the added functions and its explanation:
_check_wiregrid_position()
_stop_hwp_with_wiregrid()
_spin_hwp_with_wiregrid(target_hwp_direction)
target_hwp_direction
.target_hwp_direction
is bool argument,'forward'
or'backward'
._reverse_hwp_with_wiregrid(initial_hwp_direction, streaming=False, stepwise_before=False, stepwise_after=False)
initial_hwp_direction
using_stop_hwp_with_wiregrid()
and_spin_hwp_with_wiregrid(target_hwp_direction)
stepwise_before
andstepwise_after
are to identify whether performing them or not.time_constant(initial_hwp_direction, stepwise_first=True, stepwise_last=True, stepwise_mid=False, repeat=1)
repeat
, and ejects the wire grid.Any questions and comments are welcome.